找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3069|回复: 0

[分享] 用TAG模板实现DISCUZ门户文章标签功能

[复制链接]
发表于 2017-12-5 14:24:28 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
很对关于discuz门户文章标签的问题,由于discuz门户文章本身就没有标签功能,尽管自带了一个聚合标签,但是标签数量娿就只有8个,远远不够用。但是很多站长朋友们又非常想要实现这个功能。于是,无忧主机小编也在网上查找了下,看到了很多关于discuz用户都被这个问题困扰着,而解决的方法基本没有。大概看了下,小编找到了一个解决的方法,分享给大家:
这个方法就是添加一个tag模版
1、首先修改文章添加Tag模版:/template/default/portal/portalcp_article.htm
我们先要找到以下内容代码:
  1. <div class=”bm bml”>
  2. <div class=”bm_h cl”>
  3. <h2>{lang article_description}</h2>
  4. </div>
  5. <div class=”bm_c”><textarea id=”summary” name=”summary” cols=”80″ class=”pt” maxlength=”120″ style=”width: 98.7%; height: 51px;”>$article[summary]</textarea>
  6. </div>
  7. </div>
复制代码
然后在该代码下面添加以下内容
  1. <div class=”bm bml”>
  2. <div class=”bm_h cl”>
  3. <h2>Tag 标签</h2>
  4. </div>
  5. <div class=”bm_c”><input type=”text” id=”tags” name=”tags” class=”px” maxlength=”120″ size=”80″ value=”$article[tags]” ></div>
  6. <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! 数据库升级,文本框,复制下面
  1. SQL:alter table pre_portal_article_title add tags varchar(255)
复制代码
3、修改文章添加,修改,处理,函数/source/include/portalcp/portalcp_article.php
查找以下代码
  1. $_POST[‘pagetitle’] = censor($_POST[‘pagetitle’]);
复制代码
在该代码下面添加
  1. $_POST[‘tags’] = censor(trim($_POST[‘tags’]));
复制代码
查找以下代码
  1. ‘author’ => $_GET[‘author’],
  2. ‘from’ => $_GET[‘from’],
  3. ‘fromurl’ => $_GET[‘fromurl’],
  4. ‘dateline’ => intval($_GET[‘dateline’]),
  5. ‘url’ => $_GET[‘url’],
复制代码
修改为
  1. ‘author’ => $_G[‘gp_author’],
  2. ‘from’ => $_G[‘gp_from’],
  3. ‘fromurl’ => $_G[‘gp_fromurl’],
  4. ‘dateline’ => intval($_G[‘gp_dateline’]),
  5. ‘url’ => $_G[‘gp_url’],
  6. ‘tags’ => $_POST[‘tags’],
复制代码
4、修改文章显示函数/source/module/portal/portal_view.php
找到代码
  1. include_once template(“diy:portal/view:{$catid}”, NULL, $tpldirectory, NULL, $articleprimaltplname);
复制代码
在此代码上一行插入以下代码
  1. $tags=explode(” “,$article[“tags”]);foreach($tags as $val) {
  2. $htmltags .= “<a href=\”/search.php?mod=portal&srchtxt=”.$val.”&searchsubmit=yes\” target=\”_blank\”>”.$val.”</a> “;
  3. }
复制代码
5、修改文章显示模版/template/default/portal/view.htm
可以自己选择要放的位置,例如放到内容下面:查找
  1. $content[content]
复制代码
然后在下面加入代码
  1. <div>
  2. <b>Tab标签:</b> $htmltags
  3. </div>
复制代码

进入后台->工具->更新缓存。只选择清理数据就可以了。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-19 10:22 , Processed in 0.043244 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表