如何在dedecms模板中调用文章列表的tag标签?

DedeCMS中,使用{dede:arclist}标签调用文章列表及其标签信息。具体代码示例如下:,,“,{dede:arclist typeid='1' row='10' titlelen='40' orderby='pubdate'},,[field:title/], {dede:field name='tag'/},,{/dede:arclist},“,,以上代码中,{dede:field name=’tag’}用于调用文章的标签信息。

在织梦CMS(DedeCMS)中,TAG标签是一种由用户自定义的关键词,用于概括文章的主要内容,通过合理使用TAG标签,可以提高文章的搜索引擎可见性,增加网站内容的收录量,以下是如何在DedeCMS模板的文章列表中调用TAG标签的几种方法:

如何在dedecms模板中调用文章列表的tag标签?

基本语法和参数说明

1、基本语法

{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标记,1为获取全部TAG标记

底层模板字段

link:链接

tag:标签名称

2、最新Tag标签调用

{dede:tag row=’30’ sort=’new’}

     <a href='[field:link/]'>[field:highlight/]([field:result/])</a>

{/dede:tag}

3、当月热门Tag标签调用

{dede:tag row=’30’ sort=’month’}

如何在dedecms模板中调用文章列表的tag标签?

     <a href='[field:link/]'>[field:tagname/]([field:result/])</a>

{/dede:tag}

4、随机Tag标签调用

{dede:tag row=’60’ sort=’rand’}

     <a href='[field:link/]'>[field:highlight/]([field:result/])</a>

{/dede:tag}

5、采集热门Tags,刷新一次变换一次

{dede:tag row=’10’ sort=’month’ }

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

{/dede:tag}

JavaScript代码

     var tag_a=document.getElementsByTagName("a");
     for( i in tag_a){
     var offset=6;
     var num=4;
     if(tag_a.className=="tag"){
     var rnd=Math.ceil((num+offset)*Math.random());
     if(rnd>offset){
     tag_a.className="tag"+(rndoffset);
     }
     }
     }

CSS代码

     .tag1 { color:#339900;fontweight:bold;}
     .tag2 { color:#e65730;}
     .tag3 { color:color:#00b9da;}
     .tag4 { color:#FE3981;fontweight:bold;fontsize:14px;}

6、文章页Tag标签调用

{dede:tag table=’dede_search_keywords’ sort=’keyword’ row=’2′ if=”}

     <a class=blue href='[field:link/]' target=_blank>[field:tag /]</a>

{/dede: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}

列表页调用Tag标签的方法

dedecms默认在列表是无法调用tag标签的,经过岛主再次对织梦代码的研读及收集,现给大家再提供以下不同版本的tag标签调用方法:

1、dedecms5.7版本的调用方法

如何在dedecms模板中调用文章列表的tag标签?

找到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;
     }

在列表需要调用tag标签的位置添加:

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

2、dedecms5.6版本的调用方法

方法一:直接在模板需要的位置加入以下代码即可:

     [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]

注:这一步dede5.7版本里面实现不了。

方法二:打开dedecms根目录include/common.func.php,在最底部的“?>”之前加入以下代码:

     //岛主:列表页调用tag的方法
     function listtag($aid)
     {
     $tsql = new DedeSql(false);
     $tags = '';
     $tsql>SetQuery("Select i.tag From tf_taglist t left join tf_tagindex i on i.id=i.tid where t.aid='$aid'");
     $tsql>Execute('t');
     while($row = $tsql>GetArray('t',MYSQL_ASSOC)){
     $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."'>".$row['tag']."</a>";
     }
     return $tags;
     }

相关问答FAQs

1、问:如何在首页、列表页和文章页调用所有的TAG标签?

答:在首页、列表页和文章页调用所有的TAG标签可以通过以下代码实现:

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

这段代码会显示最新的8个TAG标签,并按月份排序,如果需要更多或更少的标签数量,可以调整row参数的值。

2、问:如何使每个文章的TAG标签带上超链接?

答:要使每个文章的TAG标签带上超链接,可以在includecommon.func.php文件中修改GetTags函数,将无链接的标签改为带链接的形式,具体代码如下:

   //获得某文档的所有tag 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=='' ? "<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>" : ','."<a href=/tags.php?/{$row['tag']} target=_blank>{$row['tag']}</a>"); } return $tags; }

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

(0)
未希的头像未希新媒体运营
上一篇 2024-10-15 17:51
下一篇 2024-10-15 18:24

相关推荐

  • 如何实现Dedecms中的自定义联动类别调用功能?

    Dedecms自定义联动类别调用实现程序需要通过编写代码实现。具体步骤如下:,,1. 在后台新建一个联动类别模型,包括主分类和子分类;,2. 在模板中使用Dede标签语言调用联动类别模型,如:{dede:sql command=”SELECT * FROM dede_archives WHERE channelid=1″};,3. 使用if语句判断主分类是否存在,如果存在则输出主分类信息;,4. 使用foreach语句遍历子分类信息,并输出。,,以上是实现Dedecms自定义联动类别调用的基本步骤,需要根据具体情况进行调整和完善。

    2024-10-19
    013
  • 如何解决DedeCMS中出现Tag disabled:php的错误?

    要解决DedeCMS中的错误”Tag disabled: "php"”,可以按照以下步骤操作:,,1. **检查PHP配置**:确保服务器上已安装并启用了PHP。,2. **修改配置文件**:打开/dede/config/config_hand.php文件,找到$cfg_allow_php = 0;,将其改为$cfg_allow_php = 1;。,3. **重启服务**:重启Web服务器(如Apache或Nginx)以使更改生效。,,这样应该能解决该问题。

    2024-10-16
    02
  • 如何在DedeCMS内容页中灵活调用缩略图?

    在dedecms中,内容页调用缩略图有多种方式。以下是几种常用的方法:,,1. **使用系统内置标签**:, dedecms自带有获取缩略图的标签,可以在模板文件中通过以下方式调用:, “dede, {dede:field name=’image’/}, `, name=’image’表示获取的是文章的缩略图字段。如果需要指定缩略图的大小,可以使用 width 和 height 属性进行设置:, `dede, {dede:field name=’image’ width=’80’ height=’80’/}, `,,2. **自定义函数**:, 如果内置标签不能满足需求,可以通过编写自定义函数来获取缩略图。可以在include/common.func.php文件中添加如下函数:, `php, function getThumbnail($aid, $width = 150, $height = 150) {, global $dsql;, $row = $dsql˃GetOne(“select litpic from #@__archives where id=$aid”);, if ($row[‘litpic’]) {, return “/uploads/allimg/”. substr($row[‘litpic’], strpos($row[‘litpic’], “.”) + 1);, } else {, return “default_thumbnail.jpg”; // 默认缩略图路径, }, }, `, 然后在模板文件里调用这个函数:, `html,, `,,3. **使用sql语句直接查询**:, 如果需要在列表页或其他地方直接通过sql查询获取缩略图,可以直接写sql语句。, `sql, SELECT litpic FROM dede_archives WHERE id = 文章ID;, “, 然后根据查询结果生成图片标签。,,4. **第三方插件或扩展**:, 有些情况下,可能需要更复杂或更灵活的缩略图功能,这时可以考虑使用一些第三方插件或扩展来实现。这些插件通常提供了更多选项和配置,可以满足不同的需求。,,dedecms内容页调用缩略图的方法多样,可以根据具体需求选择合适的方式。

    2024-10-05
    09
  • 如何解决dedecms更新文章时出现的文档ID模板文件不存在,无法错误?

    dedecms更新文章出现”文档ID 模板文件不存在,无法”的提示,可能是由于模板文件丢失或路径错误导致的。请检查相关模板文件是否存在于指定路径下,或者尝试重新上传模板文件以解决问题。

    2024-08-31
    027

发表回复

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

免费注册
电话联系

400-880-8834

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