• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程
当前位置: 织梦吧 > DedeCMS视频 >

DEDE建站每日一课之tag标签详解

来源: www.dedecms8.com 编辑:织梦吧 时间:2011-01-30点击:

  

  标签名称:tag

  功能说明:TAG调用标签

  适用范围:全局使用

  DEDE的tags调用的基本语法是:

  1.   {dede:tag sort='new' getall='0'}  
  2.   <a href='[field:link/]'>[field:tag /]</a> 
  3.   {/dede:tag} 

  参数说明:

  row='30' 调用条数,sort='new' ,排序方式 month,rand,week ,getall='0' 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记,底层模板字段,link和tag。

  但是我们知道dede默认在列表是无法调用tag标签的,是用全部还是当前页?显然全部的话和分类信息又有些不着调,如果用当前页的话,没有文章id,你也调不出东西来。难道这就没辙了吗?

  方法1:

  在列表需要的位置加入下列代码

  1. [field:id runphp=yes]  
  2.   $tsql = new DedeSql(false);  
  3.   $tags = '';  
  4.   $tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='@me'");  
  5.   $tsql->Execute('t');  
  6.   while$row = $tsql->GetArray('t',MYSQL_ASSOC)){  
  7.   $tags .= "<a href='/tag.php?/".urlencode($row['tagname'])。"'>".$row['tagname']."</a>";  
  8.   }  
  9.   @me=$tags;  
  10.   [/field:id]  

  方法2:

  在inc_functions.php文件里加入

  1. function listtag($aid){  
  2.   $tsql = new DedeSql(false);  
  3.   $tags = '';  
  4.   $tsql->SetQuery("Select i.tagname From dede_tag_list t left join dede_tag_index i on i.id=t.tid where t.aid='$aid'");  
  5.   $tsql->Execute('t');  
  6.   while$row = $tsql->GetArray('t',MYSQL_ASSOC)){  
  7.   $tags .= "<a href='/tag.php?/".urlencode($row['tagname'])。"'>".$row['tagname']."</a>";  
  8.   }  
  9.   return $tags;  
  10.   }  

  然后在列表页相应位置加入[field:ID function="listtag(@me)"/]标记。看了一下5.5版本的DedeCMs里面关于tag的调用,虽然也有typeid的参数了,但是你打开数据库看看就会发现,虽然dede_tagindex表里面也有了typeid的字段。但是默认值都是0.这样代码中的sql语句就没有任何作用了,反而家里typeid参数取不出数据来。

 
标签: dedecms TAG
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ