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
打赏 微信扫一扫 微信扫码打赏

相关推荐

  • 织梦教程 如何计算文章内容页面中的字数方法

    织梦用编辑器编辑文章的时候,需要统计文章的功能。如果文章字数过少,容易被判断为低质量页面,建议各位写文章字数不低于500个中文字符,或1000个英文字符。绝大多数网站如本SEO博客都…

    08-21 10:59 126
  • 织梦CMS 织梦文章页及列表页调用评论数、好评、差评的sql语句

    在建站中,我们都会用到评论功能,那么如果在文章页及列表页调用调用sql语句?接下来,我会讲到如何在文章页及列表页调用评论数、好评、差评的sql语句…

    07-06 17:06 187
  • 织梦教程 织梦轮播图模糊实现调用文章内容页第一张大图方法

    先找到缩略图: [field:litpic/]或者[field:picname/] 替换为 [field:id function=get_tupian(@me)/] 在织梦/include/extend.func.php添加以下函数 //缩略图functionget_tupian($id){global$dsql;$row=$dsql-GetOne(SELECTaid,bodyFR…

    06-28 09:33 163
  • 织教程 织梦调用网站建站天数的教程

    首先在需要调用的页面加以下代码: script var s1 = 2008-05-24;//设置为你的建站时间 s1 = new Date(s1.replace(/-/g, /)); s2 = new Date() var days = s2.getTime() - s1.getTime(); var number_of_days = parseInt(days / (1000…

    06-24 11:09 119
  • 织梦仿站 织梦dedecms仿站技巧分享

    仿战技巧一 DEDE列表页及文章页如何调用TAG标签并加入自己的样式 [field:id function=GetTags(@me)/] // 标签就可以调用出来了 // 只不过不带连接的,如果需要连接,请注释include\helpers\archive.helpe…

    06-23 16:14 148