php 调取子栏目,Dedecms 如何调取某个栏目所在的顶级栏目及顶级下的子栏目
DEDEcms系统制作网站时,它本身提供了很多标签,但要想自己在使用过程中满足自己的特别需求,还得二次开发改它的内核。如需要用到调用当前栏目的顶级栏目下的所有子栏目,不指定typeid,那么应该如何操作呢?
应用场景:
导航功能,Dede自身提供的方法只能通过指定父栏目id来实现,一个站很多地方需要只调用当前栏目的顶级栏目下的所有子栏目,不指定typeid,那模板代码怎么实现?
1. 找到\include\taglib\channelartlist.lib.php
找到: $attlist = ‘typeid|0,row|20,cacheid|’;
修改为:$attlist = ‘typeid|0,row|20,cacheid|,type|’; //这边加个 type 实现 在子栏目下调用 同级子栏目的信息
2. 修改66行处的代码
if($typeid==0 || $typeid==’top’) {
$tpsql = ” reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 “;
}
在它前面加个if条件判断,修改为:
if($type=='reid') {
$reid = $refObj->TypeLink->TypeInfos['reid'];
if( $reid == 0 ){
$tpsql = " reid='$typeid' AND ispart<>2 AND ishidden<>1 ";
}else{
$tpsql = " reid=$reid AND ispart<>2 AND ishidden<>1 ";
}
}else if($typeid==0 || $typeid=='top'){
$tpsql = " reid=0 AND ispart<>2 AND ishidden<>1 AND channeltype>0 ";
}
保存上面文件。然后在列表页或者内容页使用
{dede:channelartlist type=’reid’ row=’1′}
底层循环代码
{/dede:channelartlist}
就可以方便调用了.
示例代码:
{dede:channelartlist type=’reid’ row=’1′}
{dede:channel type=’son’}
php 调取子栏目,Dedecms 如何调取某个栏目所在的顶级栏目及顶级下的子栏目相关推荐
- 帝国cms灵动标签调用当前栏目下所有子栏目链接,子栏目名称,子栏目图片
帝国cms灵动标签调用当前栏目下所有子栏目链接,子栏目名称,子栏目图片 [e:loop={"select classname,classpath,classid,classimg from ...
- R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串
R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录
- 【Groovy】xml 序列化 ( 使用 MarkupBuilder 生成 xml 数据 | 标签闭包下创建子标签 | 使用 MarkupBuilderHelper 添加 xml 注释 )
文章目录 一.标签闭包下创建子标签 二.使用 MarkupBuilderHelper 添加 xml 注释 三.完整代码示例 一.标签闭包下创建子标签 在上一篇博客 [Groovy]xml 序列化 ( ...
- IDEA如何在包下建立子包
idea如何在包下建立子包 第一次在包下建立子包时候出现了问题 在java > springmvc包下再new上一个package controller的时候就会出现这个样子 如何解决 在IDE ...
- 不使用输入框如何实现下拉_如何利用Axure实现下拉子菜单?
Axure RP是一款专业的快速原型设计工具,让我们能够快速设计并创建出应用软件或Web页面的具备高保真和交互能力的原型.通过原型设计,不但能更好地与客户进行交流确认,也能明确地给开发人员以成品效果作 ...
- 多线程学习--案例-子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次
子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序. package Demo4; public class ThreadTe ...
- Java多线程面试题:子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50次
近在学习多线程,特贴在这里,并附上自己所作答案(参考与张孝祥老师的方法). 题目如下: 子线程循环10次,接着主线程循环100,接着又回到子线程循环10次, 接着再回到主线程又循环100,如此循环50 ...
- Android中layout目录的作用,Android 开发中layout下的子文件夹
Android 开发中layout下的子文件夹 发布时间:2020-10-25 11:42:36 来源:脚本之家 阅读:71 作者:厚土火焰山 如果一个项目内有很多个界面,那么在layout下会有太多 ...
- 帝国CMS之列表页调用父栏目下所有子栏目名称(带链接)
帝国CMS之列表页调用父栏目下所有子栏目名称(带链接) 列表页模板的代码: <h3>您的当前位置: [!--newsnav--]</h3><?php$fcr=explod ...
最新文章
- 《团队项目开发之三对一维环形数组的求解》
- 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
- xcode 4.2 如何调试 EXC_BAD_ACCESS
- MapXtreme 安装、编码及打包注意事项
- php调用外站数据,dedecms数据库外部调用,两dedecms站点数据远程调用
- 在Centos7上搭建Mysql数据库
- 201671010139 徐楠 关于学习继承
- 今天写的一个导出html页面的过程
- cvSplit(),cv图像颜色通道分割和融合
- 网页设计软件列表HTML,十种网页设计软件
- 1颜色原理及数字图片原理
- C# IndexOf用法
- intel 显卡 opencl安装
- 用大数据看懂《速度与激情》的用车法则
- 03 数据载入、存储及文件格式
- 全球注意力缺陷多动障碍(ADHD)市场规模2021年大约为796亿元(人民币),预计2028年将达到1259亿元
- curl http POST请求出现405错误
- python学习日记
- Java源码详解之NameValuePair
- 渗透小技巧从getshell到3389端口远程桌面连接靶机
热门文章
- SAP 电商云 Spartacus UI SSR 里 engine 和 engine instance 的区别
- ng-content和@ContentChild的配合用法
- Angular ng-container元素的学习笔记
- 在SAP CAL(Cloud Application Library)上搭建ABAP HANA系统
- scn SAP UI5 exercise - create root view
- how does {accountID} binding work?
- ComponentBase.createMetaData and manifest.json oRoute
- ERP customizing extraction - how extraction function module is determined
- IDOC generation debug for One Order
- why some product does not have Note assignment block