当前位置: 首页 > PHPCMS&织梦dedeCMS > 正文

DedeCMS 5.6/5.7列表页调用tag标签的两种方法

DedeCMSv5.7版本:

v5.7要在列表页调用tag标签的话,直接使用底层标签:[field:id function=GetTags(@me)/] ,就可以调用出来了。只不过不带链接,如果需要链接,请注释掉include\helpers\archive.helper.php文件的130行:

//$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);

用下面语句替换,当然你也可以加入自己的样式

$tags .= "<a href='/tags.php?".urlencode($row['tag'])."'>".$row['tag']."</a> ";

DedeCMSv5.6及其以前版本:

dedecms前期版本默认在列表是无法调用tag标签的,不过我们可以通过自定义sql输出,现给大家提供出2种方法。

方法1:在列表需要的位置加入下列代码:

[field:id runphp=yes]
  $tsql = new DedeSql(false);
  $tags = '';
  $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'");
  $tsql->Execute('t');
  while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
   $tags .= "<a href='/tag.php?".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
  }
  @me=$tags;
[/field:id]

方法2:在inc_functions.php文件里加入下列代码:

function listtag($aid){
  $tsql = new DedeSql(false);
  $tags = '';
  $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'");
  $tsql->Execute('t');
  while($row = $tsql->GetArray('t',MYSQL_ASSOC)){
    $tags .= "<a href='/tag.php?".urlencode($row['tagname'])."'>".$row['tagname']."</a>";
  }
  return $tags;
}

然后在列表页相应位置加入 [field:ID function=”listtag(@me)”/] 标记。

DedeCMS 5.6/5.7列表页调用tag标签的两种方法:等您来吐槽!