使用dedecms系统时我们如果想在列表页面或详情页面调用tags标签时要自己写一个函数,这里就来给大家介绍一下实现方法:
方法一,直接在模板中加php
这里以默认模板为例,打开 /templets/default/list_article.htm 找到如下代码:
代码如下:<small>好评:</small>[field:scores/]
在后面加上如下代码:
代码如下:
<small>标签:</small>
[field:id runphp='yes']
global $cfg_cmspath;
$tags = GetTags(@me);
$revalue = '';
$tags = explode(',', $tags);
foreach($tags as $key => $value){
if($value){
$revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a> ';
}
}
@me = $revalue;
[/field:id]
保存后即可.
方法二,我们在模板页面加如下操作,代码如下:
代码如下:{dede:field.aid function="getmeurl(@me)"/}
然后在于include/channelunit.func.php中加下如下代码:
代码如下:
function getarttag( $id )
{
$tags ='';
$id = intval( $id );
$dsql = new Dedesql(false);
$sql ="select `tag` from dede_taglist where aid='$id' ";
$dsql->SetQuery($sql);
$dsql->Execute('hw');
while($row=$dsql->GetArray('hw'))
{
if( $tags =="" )
{
$tags =' tag标签:<a href="/tags/'.urlencode($row['tag']).'/">'.$row['tag'].'</a>';
}
else
{
$tags .=',<a href="/tags/'.urlencode($row['tag']).'/">'.$row['tag'].'</a>';
}
}
return $tags;
}
希望本文所述对大家的dedecms建站有所帮助。