最近在给网站做二次改版开发的时候,为了达到优化的目的,实现在列表页的页面里调用来自内容页的TAG标签,本身列表页调用了内容页的标签,本身可以增加列表页的关键字的密度以外,还可以实现在TAG标签里带有超级链接,用户直接点击进入了标签就可以进入到文章内容页里调用了这个标签的TAG的所有问题,对用户体验来说是相当的重要的,因此要实现这个效果,在网上找了许多的办法,很多的方法都只是显示了TAG标签,可是本身却没有带有超级链接,自己研究了好久,终于搞定了,因此就写了这个教程分享给大家,希望对大家有帮助。下面就开始吧。
[field:id function=GetTags(@me)/] 标签就可以调用出来了
只不过不带连接的,如果需要连接,请注释include\helpers\archive.helper.php文件130行
// $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
用下面语句替换,当然你也可以加入自己的样式
$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> ";
在下面空白处加入
if ( ! function_exists('GetTagk')){
function GetTagk($aid)
{
global $dsql;
$tagk = '';
$query = "SELECT tag,aid FROM `dede_taglist` WHERE aid='$aid' ";
$dsql->Execute('tag',$query);
while($row = $dsql->GetArray('tag'))
{
$tagk .= ($tagk=='' ? $row['tag'] : ','.$row['tag']);
}
return $tagk;
}
}
再打开dede/article_edit.php 找到$tags = GetTags($aid);
再下面加$tagk = GetTagk($aid);
再打开dede/templets/article_edit.htm再调用tag标签那里把<?php echo $tags; ?>
改成<?php echo $tagk; ?>
这样调用的时候可以调用tag,后台显示也能正常显示。
修改tag限制12个字节的方法
修改有点复杂,涉及修改数据库和源码,有风险,修改前一定备份!
第一步:修改数据库中表dede_tagindex 和dede_taglist的tag字段属性:varchar(12)修改为varchar(255)
第二步:修改源码,在include/archives.func.php中查找:if(isset($tag[12])
修改为:if(isset($tag[255])
在include/archives.func.php中查找:if(isset($tag[20])
修改为:if(isset($tag[255])