php,{dede:field name='keywords'/},
“,,将上述代码插入到文章模板的相应位置,即可显示文章的tag信息。织梦DeDeCms文章页调用tag的方法
基本语法和参数说明
在织梦CMS中,TAG标签的调用可以通过以下基本语法实现:
{dede:tag row='30' sort='new' getall='0'} <a href='[field:link/]'>[field:tag /]</a> {/dede:tag}
row='30'
:表示调用条数为30条。
sort='new'
:排序方式,可以是month
(按月)、rand
(随机)、week
(按周)。
getall='0'
:获取类型,0为当前内容页TAG标记,1为获取全部TAG标记。
具体调用方法
1、最新TAG标签调用
用于显示最新的TAG标签:
“`dede
{dede:tag row=’30’ sort=’new’}
<a href='[field:link/]’>[field:highlight/]([field:result/])</a>
{/dede:tag}
“`
2、当月热门TAG标签调用
用于显示当月热门的TAG标签:
“`dede
{dede:tag row=’30’ sort=’month’}
<a href='[field:link/]’>[field:tagname/]([field:result/])</a>
{/dede:tag}
“`
3、随机TAG标签调用
用于显示随机的TAG标签:
“`dede
{dede:tag row=’60’ sort=’rand’}
<a href='[field:link/]’>[field:highlight/]([field:result/])</a>
{/dede:tag}
“`
4、采集热门Tags,刷新一次变换一次
用于动态显示热门的TAG标签:
“`dede
{dede:tag row=’10’ sort=’month’ }
<a class="tag" href='[field:link/]’>[field:tagname/] </a>
{/dede:tag}
<script language="javascript">
<!
var tag_a=document.getElementsByTagName("a");
for( i in tag_a){
var offset=6;
var num=4;
if(tag_a.className=="tag"){
var rnd=Math.ceil((num+offset)*Math.random());
if(rnd>offset){
tag_a.className="tag"+(rndoffset);
}
}
}
//>
</script>
“`
5、文章页TAG标签调用
用于在文章详情页中调用文章的TAG标签并加上链接:
“`dede
{dede:field name=’keywords’ runphp=’yes’ }
if(!empty(@me)){
$kws = explode(‘ ‘,@me);
$revalue = ”;
foreach($kws as $k){
$revalue .= "<a href=’/tag.php?/$k/’>$k</a> ";
}
$revalue= str_replace(‘+’, ‘ ‘,trim($revalue));
}
@me=$revalue; [field:id runphp=’yes’] //输出ID [/field:id]
{/dede:field}
“`
FAQs
1、如何在首页、列表页和内容页分别调用所有的TAG标签?
首页和列表页调用所有TAG标签:
“`dede
{dede:tag row=’8′ getall=’1′ sort=’month’}
“`
参数解释:row='8'
表示调用条数为8条,getall='1'
表示获取全部TAG标记,sort='month'
表示按月排序。
内容页调用该篇正文的TAG标签:
“`dede
{dede:field.tags/}
“`
默认情况下,TAG标签是无链接的,如果希望带链接,则需要修改include/common.func.php文件,大约在第755行,找到如下代码:
“`php
//获得某文档的所有tag function GetTags($aid) { global $dsql; $tags = ”; $query = "Select tag Fromtf_taglist
where aid=’$aid’ "; $dsql>Execute(‘tag’,$query); while($row = $dsql>GetArray(‘tag’)) { $tags .= ($tags==” ? $row[‘tag’] : ‘,’.$row[‘tag’]); } return $tags; }
“`
将其修改为:
“`php
//获得某文档的所有tag function GetTags($aid) { global $dsql; $tags = ”; $query = "Select tag Fromdede_taglist
where aid=’$aid’ "; $dsql>Execute(‘tag’,$query); while($row = $dsql>GetArray(‘tag’)) { $tags .= ($tags==” ? "<a href=/tags.php?/{$row[‘tag’]} target=_blank>{$row[‘tag’]}</a>" : ‘,’."<a href=/tags.php?/{$row[‘tag’]} target=_blank>{$row[‘tag’]}</a>"); } return $tags; }
“`
2、如何确保在列表页调用每篇文章的TAG标签?
dedecms5.7版本的调用方法:首先找到includehelpersarchive.helper.php文件,在底部增加如下代码:
“`php
function GetTags_list($aid) { global $dsql; $tags = ”; $query = "SELECT tag FROMma_taglist
WHERE aid=’$aid’ "; $dsql>Execute(‘tag’,$query); while($row = $dsql>GetArray(‘tag’)) { $tags .= ($tags==” ? "<a href=’/tags.php?/".urlencode($row[‘tag’])."’>".$row[‘tag’]."</a>" : ‘,’."<a href=’/tags.php?/".urlencode($row[‘tag’])."’>".$row[‘tag’]."</a>"); } return $tags; }
“`
然后在列表需要调用tag标签的位置添加:
“`dede
[field:id function=GetTags_list(@me)/]
“`
dedecms5.6版本的调用方法:直接在模板需要的位置加入以下代码:
“`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; [/field:id]
“`
方法 | 描述 | 代码示例 |
{dede:field.tag/} | 获取当前文章的所有标签 | {dede:field.tag/} |
{dede:field.tags/} | 获取当前文章的所有标签,标签之间用逗号分隔 | {dede:field.tags/} |
{dede:field.tagurl/} | 获取当前文章标签的链接地址 | {dede:field.tagurl/} |
{dede:tagArcList/} | 获取某个标签下的文章列表 | {dede:tagArcList tag='标签名' row='20' titlelen='20' /} |
{dede:tagTypeList/} | 获取标签分类列表 | {dede:tagTypeList type='top' row='10' /} |
{dede:tagType/} | 获取某个标签分类下的标签列表 | {dede:tagType id='1' row='10' /} |
{dede:tagTypeUrl/} | 获取某个标签分类的链接地址 | {dede:tagTypeUrl id='1' /} |
{dede:tagsArcList/} | 获取某个标签分类下的文章列表 | {dede:tagsArcList tid='1' row='20' titlelen='20' /} |
{dede:tagsTypeList/} | 获取标签分类列表,按照某个标签分类下的文章数量排序 | {dede:tagsTypeList tid='1' row='10' /} |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1187725.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复