找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 196|回复: 0

[cms教程] DedeCMS首页列表页调用文章TAG标签的具体方法步骤

[复制链接]

该用户从未签到

发表于 2021-4-28 09:42:52 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
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'}
  [field:pubdate function="GetDateTimeMK(@me)"/,[url=[field:arcurl/,,[field:title/,[/url]
  [*,热门tags:[field:id function=GetTags(@me)/, 点击:[field:click/,
  [field:description/,..[url=,浏览全文[/url]
  {/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 .= "[url=/tags.php?/".urlencode($row[,".$row['tag',."[/url] ";
                               
                       
               
       
       
        语句替换,当然你也可以根据自己的需求加入自己的样式。
         
        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标签那里把改成。
       
                 
       
                按照以上的步骤完成后,生成一下首页或列表页,就可以正常的调用带有链接的tag标签了,后台文章tag标签框也能正常显示了。
       
                 
       
                知识点补充扩展:
       
                 
       
                全站调用最新tag标签:
       
                 
       
               
                       
                               
                                       
                                               
{dede:tag row='50' sort='new' getall='1'}
  [url=[field:link/,,[field:tag /,[/url]
  {/dede:tag}
                                       
                               
                       
               
       
       
                 
       
                全站调用最新关键词标签:
       
                 
       
               
                       
                               
                                       
                                               
{dede:tag table='dede_search_keywords' row='3' sort='new' if=''}
  [url=, [field:keyword/,[/url]
  {/dede:tag}
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 01:22

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表