设为首页 - 加入收藏 - 网站地图 - RSS订阅 村姑网-www.cunguer.com
当前位置:首页 > CMS教程 > dedecms > 正文

dedecms 列表页调用tag标签的3中行之有效的方法

时间:2015-12-06 17:21:19 来源:村姑网 作者:喜欢安静 阅读:146
导读:dedecms的tag标签对SEO是非常好的一个功能,不能可以使网站的内部链接更加庞大,还能在一定程度上增加关键词的密度,很多朋友就想在文章的列表页调用tag标签,但是却苦苦寻找不到行之有效的方法。那么,今天,我在网上收集了3种可以使dedecms列表页调用tag标...

dedecms的tag标签对SEO是非常好的一个功能,不能可以使网站的内部链接更加庞大,还能在一定程度上增加关键词的密度,很多朋友就想在文章的列表页调用tag标签,但是却苦苦寻找不到行之有效的方法。那么,今天,我在网上收集了3种可以使dedecms列表页调用tag标签的方法,你可以一个一个试试,由于可能使用的织梦系统版本不同,所以对你有用的方法可能是其中之一。

方法1、使用GetTags函数:

首先,我们可以看一下该函数的原型,在/include/common.func.php文件中:

//获得某文档的所有tag

function GetTags($aid)

{

global $dsql;

$tags = '';

$query = "Select tag From `dede_taglist` where aid='$aid' ";

$dsql->Execute('tag',$query);

while($row = $dsql->GetArray('tag'))

{

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

}

return $tags;

}

如果我们直接用[field:id function=GetTags(@me)/]调用tag标签,你会发现,调用处的tag标签是没有链接的,如果需要链接的话,需要修改一个文件。

打开includehelpersarchive.helper.php,找到第130行的

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

替换为:

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

就可以调用处带链接的TAG标签了。

方法2、修改include/common.func.php文件

在最底部 ?> 前面加入以下代码:

//NI9HT:列表页调用tag的方法

function listtag($aid)

{

$tsql = new DedeSql(false);

$tags = ”;

$tsql->SetQuery(“Select i.tag From 'dede_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 'dede_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调用。

方法3、直接在调用TAG的地方使用一下代码:

[field:id runphp=yes]

$tsql = new DedeSql(false);

$tags = ”;

$tsql->SetQuery(“Select i.tag From 'dede_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]

 

赶紧去试试吧!以上列表页调用tag标签的3种方法,总有一个会和你的dedecms版本相对应的。

《dedecms 列表页调用tag标签的3中行之有效的方法》地址:http://www.cunguer.com/article/287.html,本文来自村姑网,您身边的IT专家 www.cunguer.com,转载请注明出处,您的支持是我们创作的源泉~!