国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

Discuz聚合標簽自由增加的問題解決辦法

2024-09-11 09:04:02
字體:
來源:轉載
供稿:網友
這篇文章主要為大家詳細介紹了Discuz聚合標簽自由增加的問題解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。

discuz的聚合標簽功能為取分類數據提供了第二層方便。但是默認只支持8個標簽,對希望更多標簽的用戶來說很不方便,那么該如何解決呢?

如果你也遇到此類問題,不妨看下以下的方法 !

Discuz版本 X3.2

一.修改個數

聚合標簽所在的文件里的個數限制是寫死的,就是8,所以自定義增多幾乎是不可能的,除非核心程序改變。

要改的幾個核心文件有:

(1)source/admincp/admincp_article.php

第51行:

showformheader('article&operation=tag');        showtableheader('article_tag_setting');        for($i=1; $i<=8; $i++) {

修改8=>12

(2)source/function/function_portalcp.php

第567行開始,依次找到8的地方:

function article_tagnames() {}

里的 

for($i=1; $i<=8; $i++)
function article_parse_tags($tag) {}

里的 

for($i=1; $i<=8; $i++)
function article_make_tag($tags){}

里的 

for($i=1; $i<=8; $i++)

分別修改8為你想要的個數,比如我的就是12。以上的行數是相對您沒有改過源代碼的情況,如果改過,就按文件名搜索好了。

二.改變數據庫字段長度

ALTER TABLE `pre_portal_article_title` CHANGE `tag` `tag` smallint( 12 ) UNSIGNED NOT NULL DEFAULT  '0'

默認的tinyint的unsign型最大是255,而255只能支持8個標簽。

所以這里改成smallint,最大支持32位,如果還不夠就繼續增大int型即可。

改到這里,基本就可以啦。

后臺,門戶,文章管理,聚合標簽,上數據!

前臺,發文,看聚合標簽,有值。

或者手工在數據庫那修改數據也行,數據存儲在 pre_common_setting 表中的 skey 字段值為 “article_tags” 的記錄,然后修改 svalue 即可。可以用以下sql語句把 svalue 選出來修改:

SELECT * FROM  `pre_common_setting` WHERE skey =  'article_tags'

【題外話】:

另外大致講解下 聚合標簽的存儲和解析原理。

如果你研究過算法,發現是利用的經典的二進制的2次方按位與計算出來的。

比如8個標簽全沒選,就是00000000 = 0 ,某個標簽選中了,就是1,比如 00011001這樣子,翻譯成十進制存儲即可。

以上就是Discuz聚合標簽自由增加的問題解決辦法的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 太保市| 济南市| 鸡泽县| 安福县| 江永县| 松桃| 新巴尔虎右旗| 铅山县| 四子王旗| 云浮市| 漾濞| 博客| 绍兴县| 平安县| 呼和浩特市| 大冶市| 垫江县| 任丘市| 左云县| 陇川县| 夹江县| 雷波县| 定陶县| 垣曲县| 汕尾市| 额敏县| 金乡县| 中超| 南京市| 凯里市| 永年县| 临沧市| 伊宁县| 武穴市| 濮阳县| 汾西县| 报价| 东丰县| 梅州市| 根河市| 台安县|