• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS首页列表页调用文章TAG标签的具体方法步骤
    POST TIME:2021-05-23 02:28

    DEDE织梦CMS最新版5.6以后虽然已经可以在列表页直接调用当前文档tag标签,但是,调用出来的是不带链接的纯文本,因此需要修改代码
     

    首先我们先看一下函数原型:
    位于/include/common.func.php文件内的以下代码:
     

    //获得某文档的所有tag
      

    function GetTags($aid)
      {
      global $dsql;
      $tags = '';
      $query = "Select tag From `b_taglist` where aid='$aid' ";
      $dsql->Execute('tag',$query);
      while($row = $dsql->GetArray('tag'))
      {
      $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
      }
      return $tags;
      }

    有了上面的这个函数,我们要想在列表页调用tag标签,就可以参照下面这个调用代码例子:

    {dede:list pagesize='10'}
      <h2><span>[field:pubdate function="GetDateTimeMK(@me)"/]</span><a href='[field:arcurl/]'>[field:title/]</a></h2>
      <li>热门tags:[field:id function=GetTags(@me)/] 点击:[field:click/]</li>
      <p>[field:description/]..<a href="[field:arcurl/]">浏览全文</a></p>
      {/dede:list}

    其中[field:id function=GetTags(@me)/]这段代码就是我们要调用tag标签的代码,将上面代码插入到你的模板文件list_article.htm里面,生成后就会看到效果。

    不过对于dedecms来说,虽然利用[field:id function=GetTags(@me)/]是把tag标签调用出来了,但是却不带链接,只是个纯文本形式的调用,如果你想要调用带链接的tag标签,就需要按照下面步骤来修改一下:

    1、首先请先注释掉include/helpers/archive.helper.php文件的第130行,找到 $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']); 用 $tags .= "<a href='/tags.php?/".urlencode($row['tag'])."/'>".$row['tag']."</a> "; 语句替换,当然你也可以根据自己的需求加入自己的样式。

    2、其次在下面空白处加入以下代码:

    if ( ! function_exists('GetTagk'))
      {
         function GetTagk($aid)
         {
            global $dsql;
            $tagk = '';
            $query = "SELECT tag,aid FROM `ma_taglist` WHERE aid='$aid' ";
            $dsql->Execute('tag',$query);
            while($row = $dsql->GetArray('tag'))
            {
                $tagk .= ($tagk=='' ? $row['tag'] : ','.$row['tag']);
            }
            return $tagk;
         }
      }

    3、再打开dede/article_edit.php,找到$tags = GetTags($aid); 在下面加上 $tagk = GetTagk($aid);

    4、最后打开dede/templets/article_edit.htm文件,再调用tag标签那里把<?php echo $tags; ?>改成<?php echo $tagk; ?>。

    按照以上的步骤完成后,生成一下首页或列表页,就可以正常的调用带有链接的tag标签了,后台文章tag标签框也能正常显示了。

    知识点补充扩展:

    全站调用最新tag标签:

    {dede:tag row='50' sort='new' getall='1'}
      <a href='[field:link/]' class='tagc[field:highlight /]' title='[field:tag /]' target="_blank">[field:tag /]</a>
      {/dede:tag}

    全站调用最新关键词标签:

    {dede:tag table='dede_search_keywords' row='3' sort='new' if=''}
      <a class="tag" title="[field:tag /]" href="/plus/search.php?keyword=[field:keyword/]"> [field:keyword/]</a>
      {/dede:tag}

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!