如何使用织梦dedecms根据栏目调用tag标签?
- 行业动态
- 2024-10-01
- 4229
在织梦dedecms中,按栏目调用tag标签的方法如下:,,1. 打开模板文件,index.htm。,2. 在需要显示tag标签的位置插入以下代码:,,“ php,{dede:field name='positionid' id='1'/},{dede:sql sql='SELECT tid,tag FROM #@__tag WHERE typeid=1 AND status=1'},[field:tid function="GetTag('',@me)"/],{/dede:sql},“,,3. 保存模板文件并更新缓存。
织梦dedecms按栏目调用tag标签的方法
修改系统文件
1、打开include/taglib/目录下的 tag.lib.php 文件:找到以下代码段,并在适当位置插入标注部分代码。
01 if($getall==0 && isset($refObj>Fields['tags']) && !empty($refObj>Fields['aid'])) { 02 $dsql>SetQuery("Select tid Fromddmx_taglist where aid = '{$refObj>Fields['aid']}' "); 03 $dsql>Execute(); 04 $ids = ''; 05 while($row = $dsql>GetArray()) { 06 $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] ); 07 } 08 if($ids != '') { 09 $addsql = " where id in($ids) "; 10 } 11 if($addsql=='') return ''; 12 } else if($getall==2) { 13 $addsql = " where typeid='{$refObj>Fields['typeid']}' "; 14 } else { 15 if(!empty($typeid)) { 16 $addsql = " where typeid='$typeid' "; 17 }
修改模板文件
在模板文件中使用以下代码来调用当前栏目的TAG标签:
{dede:tag sort='hot' getall='2'} <a href='[field:link/]'>[field:tag /]</a> {/dede:tag}
参数说明
row=’30’:调用条数为30条。
sort=’new’:排序方式,可选值有month(月)、rand(随机)、week(周)。
getall=’2′:获取类型,0为当前内容页TAG标记,1为获取全部TAG标记,2为获取当前栏目的TAG标记。
常见问题与解答
1、问题1:如何确保调用的TAG标签是当前栏目的?
解答1:通过设置getall='2'可以确保只获取当前栏目的TAG标签,如果需要进一步精确控制,可以在SQL查询语句中添加条件限制。
2、问题2:如何在首页和列表页分别调用不同的TAG标签?
解答2:在首页可以使用getall='0'来获取当前内容页的TAG标签,而在列表页则可以使用getall='2'来获取当前栏目的TAG标签,具体实现可以参考上述代码示例。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/150543.html