ltb8r.com

DedeCMS首页列表页调用文章TAG标签的具体方法步骤

DeDeCMS V5.7 虽然可以在列表页直接调用当前文档tag标签,不过,调用出来的是不带链接的纯文本,因此我们需要手动修改代码

TAG标签函数原型

位于/include/common.func.php文件内的以下代码: 

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}

其中这段代码就是我们要调用tag标签的代码

[field:id function=GetTags(@me)/]
将上面代码插入到你的模板文件list_article.htm里面,生成后列表就可以调用出来了。

*注意:虽然利用[field:id function=GetTags(@me)/]标签调用出来了,但是却不带链接,只是个纯文本形式的调用。

调用带链接的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}


免责声明:本站所有PPT模板资源均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权益,请联系网站客服处理
本文地址:https://www.ltb8r.com/dream/8.html
打赏 微信扫一扫 微信扫码打赏

相关推荐

  • 织梦图集 织梦dedecms图集编辑修改文章后权重值无法修改

    解决方法 打开 /dede/album_edit.php 找到,大概在 171 行 filename=$filename, 改成 filename=$filename,weight=$weight, 保存,重新编辑织梦图片集文章就可以了…

    6小时前 10:15 119
  • 生成随机数 织梦怎么实现标签调用随机数字的方法

    客户产品中心的产品包含了累计销量和累计评价的展示,累计销量调用了后台手动设置的销量,但是累计评价都是写死的,这样一来用户体验不好,二来也会让页面之间的相似度更高,…

    昨天 06-21 12:51 73
  • 织梦栏目 织梦dede:channelartlist标签按typeid排序输出方法

    织梦channelartlist标签在默认情况下它的typeid="7,3,1,2"即使指定了一定顺序排列,前台页面输出却不是以typeid排列顺序来排序的,我们可以通过修改它的标签库文件来让标签支持按我们自己…

    昨天 06-21 12:42 136
  • 自定义表单 织梦自定义表单提交停留时间修改

    教程如下 织梦系统自定义表单提交信息后有个短暂停留时间,可以修改停留时间。 修改 /include/common.func.php 237行 $litime = ($limittime==0 ? 1000 : $limittime); $func = ; if($gourl==-1) { if($limittime==0)…

    05-31 10:52 146
  • 织梦图集 织梦图集list调用第一张缩略图方法

    有时候网站需要调用织梦图集获取第一张缩略图,但是织梦Dedecms的图集productimagelist是不能够实现调用第一张缩略图,这个时候我们就需要对/include/extend.func.php进行二次开发,实现织梦图集lis…

    04-15 12:54 114