如何在DedeCMS的首页和列表页中调用文档的标签?

DedeCMS在首页和列表页中调用文档的TAG,可以使用以下标签:,,“html,{dede:arclist row='10' typeid='1' orderby='pubdate'}, [field:typelink/][field:tag/],{/dede:arclist},“,,这段代码表示在首页和列表页中显示10篇文章,按照发布时间排序,并展示文章的类型链接和标签。

在DedeCMS中调用文档的TAG标签,可以通过多种方法实现,本文将详细介绍如何在首页、列表页和文章页中调用文档的TAG标签,并提供一些实用的代码示例。

如何在DedeCMS的首页和列表页中调用文档的标签?

基本语法与概念

1、TAG标签的定义与作用:TAG标签是一种由网站管理员自定义的关键词,用于更具体地概括文章的主要内容,合理使用TAG标签可以增加文章的可发现性,提高SEO效果。

2、基本语法在DedeCMS中,调用TAG标签的基本语法如下:

{dede:tag row='30' sort='new' getall='0'}
    <a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}

row='30':表示调用30条记录。

sort='new':排序方式为最新(month, rand, week)。

getall='0':获取类型为当前内容页的TAG标记(0为当前内容页,1为获取全部)。

首页调用TAG标签

在首页调用TAG标签,通常是为了展示网站的热门或最新的TAG标签,以吸引用户点击,以下是几种常见的调用方法:

1、最新TAG标签调用

{dede:tag row='30' sort='new'}
    <a href='[field:link/]'>[field:highlight/]([field:result/])</a>
{/dede:tag}

这种方法会调用最新的30个TAG标签,并以高亮形式显示。

2、当月热门TAG标签调用

如何在DedeCMS的首页和列表页中调用文档的标签?

{dede:tag row='30' sort='month'}
    <a href='[field:link/]'>[field:tagname/]([field:result/])</a>
{/dede:tag}

这种方法会调用当月最热门的30个TAG标签。

3、随机TAG标签调用

{dede:tag row='60' sort='rand'}
    <a href='[field:link/]'>[field:highlight/]([field:result/])</a>
{/dede:tag}

此方法会随机调用60个TAG标签。

列表页调用TAG标签

在列表页调用TAG标签,可以帮助用户快速了解文章的相关主题,以下是两种常见的方法:

1、dedecms5.7版本的方法

在includehelpersarchive.helper.php文件中添加以下代码:


function GetTags_list($aid) {
    global $dsql;
    $tags = '';
    $query = "SELECT tag FROMma_taglist WHERE aid='$aid' ";
    $dsql>Execute('tag',$query);
    while($row = $dsql>GetArray('tag')) {
        $tags .= ($tags=='' ? "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");
    }
    return $tags;
}

然后在模板文件中调用:

[field:id function=GetTags_list(@me)/]

2、dedecms5.6版本的方法

直接在模板文件中添加以下代码:

如何在DedeCMS的首页和列表页中调用文档的标签?

[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = "";
$tsql>SetQuery("Select i.tag From dede_taglist t left join dede_tagindex i on i.id=t.tid where t.aid=’@me’");
$tsql>Execute('t');
while($row = $tsql>GetArray('t',MYSQL_ASSOC)) {
    $tags .= "<a href=’/tag.php?/".urlencode($row['tag'])."‘>".$row['tag'].”</a>”;
}
@me=$tags;
[/field:id]

注意:这种方法在dedecms5.7版本中无法实现。

文章页调用当前文章的TAG标签

在文章页调用当前文章的TAG标签,可以使用以下代码:

{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
    $kws = explode(' ',@me);
    @me = "";
    foreach($kws as $k){
        @me .= "<a href='/tag.php?/$k/'>$k</a> ";
    }
    @me= str_replace('+', ' ',trim(@me));
}
{/dede:field}

或者通过修改include/common.func.php文件来实现带链接的TAG标签调用。

相关问答FAQs

1. 如何在DedeCMS中调用当前栏目的所有TAG标签?

答:可以通过修改include/taglib/目录下的tag.lib.php文件,在适当位置插入代码来实现,具体代码如下:

if($getall==0 && isset($refObj>Fields['tags']) && !empty($refObj>Fields['tags'])) {
    $tags = $refObj>Fields['tags'];
    $tagarray = explode(',', $tags);
    if(is_array($tagarray)) {
        foreach($tagarray as $tag) {
            $res[] = "<a href='/tags.php?/$tag/'>$tag</a>";
        }
        return implode(',', $res);
    } else {
        return '';
    }
} else {
    return '';
}

2. 如何在首页调用特定数量的热门TAG标签?

答:可以在模板文件中使用以下代码来调用特定数量(例如30个)的热门TAG标签:

{dede:tag row='30' sort='month'}
    <a href='[field:link/]'>[field:tagname/]([field:result/])</a>
{/dede:tag}

这段代码会调用最近一个月内最热门的30个TAG标签,并以超链接的形式展示在首页。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222296.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-18 17:40
下一篇 2024-10-18 17:40

相关推荐

发表回复

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

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