如何在DedeCMS中实现首页、列表页和文章页的全局Tags调用?

avatar
作者
筋斗云
阅读量:0
DedeCMS首页、列表页和文章页的全局Tags调用可以通过在模板文件中使用特定的标签实现。具体方法如下:,,1. 首页:在首页模板文件中,可以使用{dede:tags type='top'/}标签来调用全局Tags。,,2. 列表页:在列表页模板文件中,可以使用{dede:tags type='list'/}标签来调用全局Tags。,,3. 文章页:在文章页模板文件中,可以使用{dede:tags type='arc'/}标签来调用全局Tags。,,注意:在使用这些标签之前,请确保已经在后台开启了全局Tags功能。

管理系统(DedeCMS)中,标签(TAG)的调用是实现网站内容优化和用户体验提升的重要手段,通过合理设置和使用标签,可以更好地组织网站内容,方便用户快速找到所需信息,同时也利于搜索引擎的抓取和索引,下面将详细介绍如何在DedeCMS系统的首页、列表页和文章页进行全局标签调用的方法。

首页、列表页和文章页调用所有的标签

1、语法

```php

如何在DedeCMS中实现首页、列表页和文章页的全局Tags调用?

{dede:tag row='8' getall='1' sort='month'}

```

2、参数说明

row:表示调用的条数,这里设置为8条。

getall:获取类型,0为当前内容页标签标记,1为获取全部标签标记。

sort:排序方式,这里选择按月份排序。

3、示例

```php

{dede:tag row='8' getall='1' sort='month'}

<a href='[field:link/]'>[field:tag /]</a>

{/dede:tag}

```

列表页调用每一篇文章的标签

1、方法一

代码

```php

[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_ASSOC)){

$tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";

}

@me=$tags;

[/field:id]

```

2、方法二

步骤

打开include/helpers/archive.helper.php文件。

在底部增加如下函数:

```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='/tag.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>" : ','."<a href='/tag.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>");

}

return $tags;

}

```

在模板需要的位置添加如下代码:

```php

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

```

1、默认无链接调用

```php

{dede:field.tags/}

```

2、带链接调用

修改步骤

打开include/common.func.php文件。

大约在755行处找到如下代码:

```php

//获得某文档的所有标签

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;

}

```

将其修改为:

```php

//获得某文档的所有标签

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;

}

```

相关问答FAQs

问题1:如何在DedeCMS中实现首页、列表页和文章页的全局标签调用?

答:在DedeCMS中,可以通过以下几种方法实现首页、列表页和文章页的全局标签调用:

1、首页、列表页和文章页调用所有标签:使用{dede:tag row='8' getall='1' sort='month'}语法,其中row表示调用的条数,getall表示获取类型,sort表示排序方式。

2、列表页调用每篇文章的标签:可以在模板中使用[field:id runphp=yes]标签结合自定义函数GetTags_list来实现。

3、文章页调用该篇正文的标签:默认情况下,可以使用{dede:field.tags/}来调用不带链接的标签,如果需要带链接,则需修改include/common.func.php文件中的GetTags函数。

问题2:如何修改DedeCMS中的标签函数以实现带链接的标签调用?

答:要实现带链接的标签调用,可以按照以下步骤操作:

1、打开include/common.func.php文件。

2、在大约755行处找到GetTags函数,该函数用于获取某文档的所有标签。

3、将该函数中的标签输出部分修改为带链接的形式,如:

```php

$tags .= ($tags=='' ? "<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>");

```

4、保存文件并刷新页面,即可看到标签已经带上了链接。


DedeCMS 首页、列表页和文章页的全局Tags调用

1. 首页全局Tags调用

在DedeCMS中,首页的全局Tags调用主要用于展示网站的最新动态、热门内容等,以下是一些常见的全局Tags调用示例:

1.1 最新文章

 <?php sp_get_tag('archives', array(     'row' => 10, // 显示文章数量     'orderway' => 'desc', // 排序方式     'day' => 30, // 时间范围     'limit' => 5, // 限制显示数量 )); ?>

1.2 热门文章

 <?php sp_get_tag('archives', array(     'row' => 10,     'orderway' => 'desc',     'flag' => 'hot', // 标记为热门     'limit' => 5, )); ?>

1.3 最新评论

 <?php sp_get_tag('comments', array(     'row' => 10,     'orderway' => 'desc',     'limit' => 5, )); ?>

2. 列表页全局Tags调用

列表页的全局Tags调用通常用于展示某个分类或模型下的文章列表,以下是一些示例:

2.1 分类列表

 <?php sp_sql_category('category', array(     'limit' => 10, // 显示分类数量 )); ?>

2.2 文章列表

 <?php sp_sqlArchives('archives', array(     'channelid' => 1, // 指定模型ID     'orderby' => 'id', // 排序方式     'listrow' => 10, // 每页显示文章数量     'limit' => 5, // 限制显示数量 )); ?>

3. 文章页全局Tags调用

文章页的全局Tags调用用于展示与当前文章相关的内容,如推荐文章、同分类文章等。

3.1 推荐文章

 <?php sp_get_tag('archives', array(     'row' => 5,     'orderway' => 'desc',     'flag' => 'recommend', // 标记为推荐 )); ?>

3.2 同分类文章

 <?php sp_sqlArchives('archives', array(     'channelid' => 1, // 指定模型ID     'typeid' => $typeid, // 当前文章的分类ID     'orderby' => 'id',     'listrow' => 5, )); ?>

注意事项

在调用全局Tags时,请确保已经正确设置了模型和分类。

根据需要调整参数,如显示数量、排序方式等。

在调用Tags时,注意权限和SEO优化。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!