Discuz!門戶文章增加標簽tag功能教程

很對關于discuz門戶文章標簽的問題,由于discuz門戶文章本身就沒有標簽功能,盡管自帶了一個聚合標簽,但是標簽數量就只有8個,遠遠不夠用。但是很多站長朋友們又非常想要實現這個功能。于是,小編也在網上查找了下,看到了很多關于discuz用戶都被這個問題困擾著,而解決的方法基本沒有。大概看了下,小編找到了一個解決的方法,分享給大家:

這個方法就是添加一個tag模版

1、首先修改文章添加Tag模版:/template/default/portal/portalcp_article.htm

我們先要找到以下內容代碼:

<div class=”bm bml”>
<div class=”bm_h cl”>
<h2>{lang article_description}</h2>
</div>
<div class=”bm_c”>
  <textarea id=”summary” name=”summary” cols=”80″ class=”pt” maxlength=”120″ style=”width: 98.7%; height: 51px;”>$article[summary]</textarea>
</div>
</div>

然后在該代碼下面添加以下內容

<div class=”bm bml”>
<div class=”bm_h cl”>
<h2>Tag 標簽</h2>
</div>
<div class=”bm_c”>
<input type=”text” id=”tags” name=”tags” class=”px” maxlength=”120″ size=”80″ value=”$article[tags]” >
</div>
<div class=”bm_h cl”>
多個Tag 用空格隔開,比如:a b c d ,尾部不需任何符號
</div>
</div>

2、接下來是添加pre_portal_article_title表字段[注意:1、操作前備份數據庫,2、不論表前綴是不是默認的,都可以直接用此代碼(我的表前綴不是默認的已經成功),如果沒有升級成功,那就請用pre_portal_article_title

字段名為:tags ,類型varchar(255), 默認為空。

在網站后臺的站長->數據庫->升級 下面的Discuz! 數據庫升級,文本框,復制下面

alter table pre_portal_article_title add tags varchar(255)

3、修改文章添加,修改,處理,函數/source/include/portalcp/portalcp_article.php(關系到字段入庫,重要!)

查找以下代碼$_POST[‘pagetitle’] = censor($_POST[‘pagetitle’]);

在該代碼下面添加$_POST[‘tags’] = censor(trim($_POST[‘tags’]);

查找以下代碼

‘author’ => $_GET[‘author’],
‘from’ => $_GET[‘from’],
‘fromurl’ => $_GET[‘fromurl’],
‘dateline’ => intval($_GET[‘dateline’]),
‘url’ => $_GET[‘url’],[/code]
‘author’ => $_G[‘gp_author’],
‘from’ => $_G[‘gp_from’],
‘fromurl’ => $_G[‘gp_fromurl’],
‘dateline’ => intval($_G[‘gp_dateline’]),
‘url’ => $_G[‘gp_url’],
‘tags’ => $_POST[‘tags’],

4、修改文章顯示函數/source/module/portal/portal_view.php

找到代碼

include_once template(“diy:portal/view:{$catid}”, NULL, $tpldirectory, NULL, $articleprimaltplname);```

在此代碼上一行插入以下代碼

$tags=explode(” “,$article[“tags”]);foreach($tags as $val) {
$htmltags .= “<a href=\”/search.php?mod=portal&srchtxt=”.$val.”&searchsubmit=yes\” target=\”_blank\”>”.$val.”</a> “;
}

5、修改文章顯示模版`/template/default/portal/view.htm`

可以自己選擇要放的位置,例如放到內容下面:查找

`$content[content]`

然后在下面加入代碼

<div>
<b>Tab標簽:</b> $htmltags
</div>

進入后臺->工具->更新緩存。只選擇清理數據就可以了。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容