新闻中心

用tag模板实现discuz门户文章标签功能

作者 / 时间 2014-08-31 16:30:33

很对关于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! 数据库升级,文本框,复制下面 SQL: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'], 修改为 '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> 进入后台->工具->更新缓存。只选择清理数据就可以了。   无忧主机相关文章推荐阅读: DEDECMS后台验证码错误一般情况分析 DEDECMS V5.7 SQ1W网站迁移管理员后台登录验证码图片不显示 DEDECMS中的DATA目录移动后,导致验证码不显示无法登陆后台的解决方案

本文地址:https://www.51php.com/discuz/16184.html

1
1
1
1
1
1
1