在织梦CMS(DedeCMS)中,调用文章的TAG标签并加上链接是一个常见的需求,通过合理的TAG调用,可以增强网站的内链结构,提高SEO效果,同时也方便用户浏览相关内容,下面将详细介绍在不同页面如何实现TAG标签的调用:
首页、列表页和文章页调用所有的TAG
在首页、列表页和文章页调用所有TAG标签的方法如下:
“`织梦
{dede:tag row=’8′ getall=’1′ sort=’month’}
参数说明:row='8'
:表示每次最多显示8个TAG标签。getall='1'
:表示获取全部TAG标签。sort='month'
:按月份排序。 列表页调用每一篇文章的TAG 在列表页调用每篇文章的TAG标签时,可以使用以下代码: ```织梦 [field:id runphp='yes'] $tsql = new DedeSql(false); $tags = ''; $tsql>SetQuery("Select i.tag From tf_taglist t left join tf_tagindex i on i.id=t.tid where t.aid='@me'"); $tsql>Execute('t'); while($row = $tsql>GetArray('t',MYSQL_ASSERT)){ $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>"; } @me=$tags; [/field:id]
文章页调用该篇正文的TAG
在文章页调用该篇文章的TAG标签时,可以使用以下方法:
“`织梦
{dede:field.tags/}
如果希望TAG标签带有链接,可以在include/common.func.php文件中进行修改: 找到大约755行的位置,将以下代码:
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromtf_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)) {
$tags .= ($tags==” ? $row[‘tag’] : ‘,’.$row[‘tag’]);
return $tags;
修改为:
function GetTags($aid) {
global $dsql;
$tags = ”;
$query = "Select tag Fromdede_taglist
where aid=’$aid’ ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)) {
$tags .= ($tags==” ? "<a href=/tags.php?/{$row[‘tag’]} target=_blank>{$row[‘tag’]}</a>" : ‘,’."<a href=/tags.php?/{$row[‘tag’]} target=_blank>{$row[‘tag’]}</a>");
return $tags;
动态和静态版本的区别 动态版本 在列表页调用每篇文章的TAG标签时,可以使用以下代码: ```织梦 [field:id runphp='yes'] $tags = GetTags(@me); $revalue = ''; $tags = explode(',', $tags); foreach($tags as $key => $value){ if($value){ $revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a> '; } } @me = $revalue; [/field:id]
静态版本
在列表页调用每篇文章的TAG标签时,可以使用以下代码:
“`织梦
[field:id function=GetMyTags(@me,5)/]
GetMyTags
函数定义如下:
if (!function_exists(‘GetMyTags’)) {
function GetMyTags($aid, $num=3) {
global $dsql,$cfg_cmspath;
$tags = ”;
$query = "SELECT * FROM#@__taglist
WHERE aid=’$aid’ LIMIT $num ";
$dsql>Execute(‘tag’,$query);
while($row = $dsql>GetArray(‘tag’)) {
$link = $cfg_cmspath."/tags.php?/{$row[‘tag’]}";
$tags.= ($tags==” ? "<a href='{$link}’ rel=’tag’>{$row[‘tag’]}</a>" : ‘,’."<a href='{$link}’ rel=’tag’>{$row[‘tag’]}</a>");
}
return $tags;
}
FAQs 1、如何在首页、列表页和文章页分别调用不同的TAG标签? 在首页、列表页和文章页调用所有TAG标签时,可以使用{dede:tag row='8' getall='1' sort='month'}
,在列表页调用每篇文章的TAG标签时,可以使用[field:id runphp='yes'] ... [/field:id]
代码,在文章页调用该篇文章的TAG标签时,可以使用{dede:field.tags/}
。 2、如何使TAG标签带有链接? 如果希望TAG标签带有链接,可以在include/common.func.php文件中进行修改,找到大约755行的位置,将function GetTags($aid)
函数中的代码修改为带有链接的形式,将其修改为"<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>"
。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1232126.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复