dedecms列表页,文章页调用tag的方法

1.dedecms列表页调用tag的方法

方法一
[field:id runphp=yes]
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From '#@__taglist' t left join dede_tagindex 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['tag']).”‘>”.$row['tag'].”</a>”;
}
@me=$tags;
[/field:id]

方法二
1.打开DEDECMS根目录include/common.func.php
在最底部 ?> 前面加入以下代码:
//NI9HT:列表页调用tag的方法
function listtag($aid)
{
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From '#@__taglist' t left join dede_tagindex i on i.id=t.tid where t.aid=’$aid’”);
$tsql->Execute(‘t’);
while($row = $tsql->GetArray(‘t’,MYSQL_ASSOC)){
$tags .= “<a href=’/tags.php?/”.urlencode($row['tag']).”/’>”.$row['tag'].”</a> “;
}
return $tags;
}
{dede:field.id runphp=yes}
$tsql = new DedeSql(false);
$tags = ”;
$tsql->SetQuery(“Select i.tag From '#@__taglist' t left join dede_tagindex 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['tag']).”‘>”.$row['tag'].”</a>”;
}
@me=$tags;
{/dede:field.id}

2.然后在文章页可以使用{dede:field.id function=”listtag(@me)”/}来调用TAG标签,

在列表页可以使用[field:id function="listtag(@me)"/]来调用TAG标签.

然后在列表页相应位置加入[field:id function="listtag(@me)"/]标记。5.6版本的DedeCMs里面关于tag的调用,虽然也有typeid的参数了,但是你打开数据库看看就会发现,虽然dede_tagindex表里面也有了typeid的字段。这样我们就可以用DEDE 的SQL 语句实现更加灵活的 Tag调用。



2.dedecms文章页调用tag的方法

TAG:
{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){

$kws = explode(',',@me);
$kws = array_slice ($kws, 0, 5);
@me = "";
foreach($kws as $k){
    $m = urlencode($k);
    @me .= "<a href=\"/tags/$m/\" target=\"_blank\">$k</a> ";
}
@me= str_replace('+', ',',trim(@me));
}
{/dede:field}

3.dedecms文章页调用search关键字的方法

关键字:
{dede:field name='keywords' runphp='yes' }
if(!empty(@me)){
  $kws = explode(',',@me);
  @me = "";
  foreach($kws as $k){
      $m = urlencode($k);
      @me .= "<a href='/search.html?keyword=$m&kwtype=0&searchtype=title' target='blank'>$k</a>";
  }
  @me= str_replace('+', ',',trim(@me));
}
{/dede:field}

你可能感兴趣的:(dedecms列表页,文章页调用tag的方法)