如何在织梦dedecms中高效调用首页、列表页和文章页的标签?

在织梦dedecms的首页、列表页、文章页中,可以使用系统标签来调用tag。具体方法如下:,,1. 首页调用tag:在首页模板文件(如index.htm)中使用{dede:tag type=’dynamic’}标签来调用动态生成的tag。,,2. 列表页调用tag:在列表页模板文件(如list_article.htm)中使用{dede:field name=’keywords’/}标签来调用当前文章的tag。,,3. 文章页调用tag:在文章页模板文件(如article_article.htm)中使用{dede:field name=’keywords’/}标签来调用当前文章的tag。

在织梦CMS(DedeCMS)中,调用文章的TAG标签并加上链接是一个常见的需求,通过合理的TAG调用,可以增强网站的内链结构,提高SEO效果,同时也方便用户浏览相关内容,下面将详细介绍在不同页面如何实现TAG标签的调用:

如何在织梦dedecms中高效调用首页、列表页和文章页的标签?

首页、列表页和文章页调用所有的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’)) {

如何在织梦dedecms中高效调用首页、列表页和文章页的标签?

$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>&nbsp;';         
    }      
}        
@me = $revalue;     
[/field:id]

静态版本

在列表页调用每篇文章的TAG标签时,可以使用以下代码:

“`织梦

[field:id function=GetMyTags(@me,5)/]

如何在织梦dedecms中高效调用首页、列表页和文章页的标签?

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

(0)
未希的头像未希新媒体运营
上一篇 2024-10-22 13:42
下一篇 2024-10-22 13:49

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入