如何实现discuz,门户文章的标签功能
1个回答
展开全部
添加一个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>
进入后台->工具->更新缓存。只选择清理数据就可以了。
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>
进入后台->工具->更新缓存。只选择清理数据就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询