当前位置:主页 > 设计教程 > CMS使用教程 >
织梦模板DEDECMS列表页调取文章页TAG标签的办法
时间:2015-04-22 13:47来源:93diy作者:93diy点击:
简介:我们在设置织梦列表页时,常常会调到相关文章的TAG标签收,可是织梦后台管理系统现在并不能直接使用[field:tag/],那么要如何实现在织梦模板列表页中调取文章页TAG标签呢? 我们看一下织梦后台管理系统中有调用方式的函数,位于/include/common.func.php文件内的以下代码: 首先我们先看一下函数原型: //获得某文档的所有tag function GetTags($aid) { global $dsql; $tags = ; $query = Select tag From `b_t
我们在设置织梦列表页时,常常会调到相关文章的TAG标签收,可是织梦后台管理系统现在并不能直接使用[field:tag/],那么要如何实现在织梦模板列表页中调取文章页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>热门关词:[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}

注解:
row:调用条数。
sort:排序方式。参数有:month,rand,week, new。
getall:获取类型。参数有:0和1,其中0为当前内容页或栏目页tag,1为获取全站tag。
(责任编辑:93diy)

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------