【实测】门户文章标签之如何免费实现discuz!门户文章的标签功能,非插件-Discuz教程下载

【实测】门户文章标签之如何免费实现discuz!门户文章的标签功能,非插件

来自版块: Discuz教程发表于: 2016-10-13 09:56:04
43182
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
很对关于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 name="summary" cols="80" class="pt" style="width: 98.7%; height: 51px;">$article[summary]</textarea></div>
  6.                                 </div>
复制代码
然后在该代码下面添加以下内容
亲爱的游客您好,请 登录 后进行 回复
2、接下来是添加pre_portal_article_title表字段
[注意:
2.1、操作前备份数据库,
2.2、不论表前缀是不是默认的,都可以直接用此代码(我的表前缀不是默认的已经成功)
2.3、如果没有升级成功,那就请用pre_portal_article_title]

字段名为:tags ,类型varchar(255), 默认为空。
在网站后台的站长->数据库->升级 下面的Discuz! 数据库升级,文本框,复制下面SQL:
  1. alter table pre_portal_article_title add tags varchar(255)
复制代码
如站长后台无输入框,请进入网站根目录打开config/config_global.php这个文件,修改
  1. $_config['admincp']['runquery'] = '0';
复制代码

  1. $_config['admincp']['runquery'] = '1';
复制代码
3、修改文章添加,修改,处理,函数/source/include/portalcp/portalcp_article.php
查找以下代码
  1. $_POST['pagetitle'] = censor($_POST['pagetitle']);
复制代码
新版本代码为
亲爱的游客您好,请 登录 后进行 回复
在该代码下面添加
  1. $_POST['tags'] = censor(trim($_POST['tags']));
复制代码
查找以下代码
  1. $setarr = array(
  2.                 'title' => $_POST['title'],
  3.                 'author' => $_GET['author'],
  4.                 'from' => $_GET['from'],
  5.                 'fromurl' => $_GET['fromurl'],
  6.                 'dateline' => intval($_GET['dateline']),
  7.                 'url' => $_GET['url'],
  8.                 'allowcomment' => !empty($_POST['forbIDComment']) ? '0' : '1',
  9.                 'summary' => $summary,
  10.                 'catid' => intval($_POST['catid']),
  11.                 'tag' => article_make_tag($_POST['tag']),
  12.                 'status' => $article_status,
  13.                 'highlight' => $style,
  14.                 'showinnernav' => empty($_POST['showinnernav']) ? '0' : '1',
  15.         );
复制代码
修改为
亲爱的游客您好,请 登录 后进行 回复
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. }
  4. 每个关键词以空格区分开
复制代码
新版本代码为
亲爱的游客您好,请 登录 后进行 回复
或者
  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. }
  4. 每个关键词以,区分开
复制代码
新版本代码为
亲爱的游客您好,请 登录 后进行 回复
5、修改文章显示模版/template/default/portal/view.htm
可以自己选择要放的位置,例如放到内容下面:查找
  1. $content[content]
复制代码
然后在下面加入代码
  1.    <style>
  2. .wenzhangbiaoqian {margin-top: 20px;}
  3. .wenzhangbiaoqian span {font-weight: bold; font-size: 18px;}
  4. .wenzhangbiaoqian a {padding: 0 5px 1px 5px; margin-right: 4px; font-size: 18px; background: #999999; color: #ffffff; border-radius: 8px;}
  5. .wenzhangbiaoqian a:hover {background: #e94c3d;}
  6. </style>
  7. <div class="wenzhangbiaoqian">
  8. <span>Tags:</span> $htmltags
  9. </div>
复制代码
进入后台->工具->更新缓存。只选择清理数据就可以了。


相关教程
【原创】DZ门户文章利用tag标签及摘要自动生成文章关键词keywords及文章描述description
【原创】结合门户tag标签功能,将搜索链接修改为伪静态链接
【实测】Discuz tag 标签重复显示的解决方法

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部