web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

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

677 ℃
           

我们在用织梦模板做网站时,经常会碰到需要调用当前顶级栏目名称,而织梦默认{dede:field name=’typename‘ /} 只可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。

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

//获取顶级栏目名function GetTopTypename($id){ global $dsql; $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id"); if ($row[‘topid’] == ‘0’) { return $row[‘typename’]; } else { $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]"); return $row1[‘typename’]; }}

备注:若顶级栏目没有绑定二级域名,所调用的字段应该是 sitepath 故代码应如下所示: 

//获取顶级栏目url function GetTopTypeurl($id){ global $dsql; $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id"); if ($row[‘topid’] == ‘0’) { return $row[‘sitepath’]; } else { $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]"); return $row1[‘sitepath’]; }}

顶级栏目其他字段调用的function 函数仿照上面所示书写即可。

同理可得获取顶级栏目url方法 (当顶级栏目绑定二级域名时调用的字段为“ siturl”)  

function GetTopTypeurl($id){ global $dsql; $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id"); if ($row[‘topid’] == ‘0’) { return $row[‘siteurl’]; } else { $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]"); return $row1[‘siteurl’]; }}

在文章页或者栏目列表页调用时,在所要调用栏目名称的位置加上下面这行代码即可实现。

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

dede调用顶级栏目ID 方法一:

{dede:field.typeid function="GetTopid(@me)"/}  dedeyuan首推这一方法,经过测试是可行的。

dede调用顶级栏目ID 方法二:

1、在所需要调用顶级栏目ID的地方,添加这段标签语法

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

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

找到这条语句

$row = $dsql->GetOne(“Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` where id=’$typeid’ “);

修改成为

$row = $dsql->GetOne(“Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepathFrom `dede_arctype` where id=’$typeid’ “);

在if(!is_array($row)) return ”;下一行添加

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

这样,这条语句在顶级栏目还是子栏目,都可以调用了

纯js实现文字无缝滚动(亲测有效)

数组相关运用

dede二次开发:无子栏目时显示同级栏目的问题

dedecms调用栏目名称与栏目链接地址的方法分析

织梦dedecms如何获取当前栏目的上级栏目?

标签: id, row, typename, 栏目, 顶级

上面是“详解织梦调用当前顶级栏目名称、ID、url方法”的全面内容,想了解更多关于 织梦cms 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_482.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > 织梦cms
本文共计1832个字,预计阅读时长13分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款免费在线图片处理工具——佐糖图片平台
下一篇: 推荐一款优设网免费可商用字体——优设标题黑体
x 打工人ai神器