详解织梦调用当前顶级栏目名称、ID、url方法

详解织梦调用当前顶级栏目名称、ID、url方法,第1张

详解织梦调用当前顶级栏目名称、ID、url方法

本文主要介绍织梦调用的当前顶级栏目名称、ID、url方法的详细信息。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。

我们在使用Dreamweaver模板制作网站时,经常会遇到需要调用当前顶层栏目名称的情况,但是Dreamweaver默认的{dede:fieldname='typename'/}在columns页面中只能得到当前顶层栏目的名称,而不能得到当前顶层栏目的名称。

在include/common.func.php的底部,添加:

//获取顶级栏目名 functionGetTopTypename($id) { global$dsql; $row=$dsql->GetOne("SELECTtypename,topidFROMdede_arctypeWHEREid=$id"); if($row['topid']=='0') { return$row['typename']; } else { $row1=$dsql->GetOne("SELECTtypenameFROMdede_arctypeWHEREid=$row[topid]"); return$row1['typename']; } }

注意:如果顶级列没有和二级域名绑定,那么调用的字段应该是sitepath,所以代码应该如下:

//获取顶级栏目url functionGetTopTypeurl($id) { global$dsql; $row=$dsql->GetOne("SELECTsitepath,topidFROMdede_arctypeWHEREid=$id"); if($row['topid']=='0') { return$row['sitepath']; } else { $row1=$dsql->GetOne("SELECTsitepathFROMdede_arctypeWHEREid=$row[topid]"); return$row1['sitepath']; } }

顶栏其他字段调用的函数function可以如上图写。

同理可以得到顶级列的url方法(顶级列绑定二级域名时调用的字段为“siturl”)

functionGetTopTypeurl($id) { global$dsql; $row=$dsql->GetOne("SELECTsiteurl,topidFROMdede_arctypeWHEREid=$id"); if($row['topid']=='0') { return$row['siteurl']; } else { $row1=$dsql->GetOne("SELECTsiteurlFROMdede_arctypeWHEREid=$row[topid]"); return$row1['siteurl']; } }

当调用文章页面或列列表页面时,将下面一行代码添加到要调用的列名的位置。

{dede:fieldname='typeid'function="GetTopTypename(@me)"/}顶级栏目名 {dede:fieldname='typeid'function="GetTopTypeurl(@me)"/}顶级栏目url

Dede调用顶级列ID方法1:

{dede:field.typeidfunction="gettopid(@me)"/}dedeyuan首创了这种方法,经过测试是可行的。

Dede调用顶级列ID方法2:

1.在需要调用顶级列ID的地方添加这个标记语法。

{dede:type}[feild:topid/]{/dede:type}

2.修改源文件,在include目录下的taglib目录中找到type.lib.php。

找到这个语句。

$row=$dsql->GetOne(“Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From`dede_arctype`whereid=’$typeid’“);

修改成为

$row=$dsql->GetOne(“Selectid,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From`dede_arctype`whereid=’$typeid’“);

Atif(!is_array($row))return";添加下一行

if($row['topid']==0){$row['topid']=$row['id'];}

这样,可以在顶级列或子列中调用该语句。

就是本文的全部内容。希望对大家的学习有帮助,支持我们。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/772070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存