Dedecms中{dede:type}标签支持调用父级栏目名称
需求:
我们用{dede:type}标签调用栏目相关内容时,同时需要调用该栏目的父级栏目的名称。
{dede:type}标签的代码做了一下开发,支持这个调用了。
开发方法:
1.打开include/taglib/type.lib.php,找到函数lib_type下的代码:
$row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype` WHERE id='$typeid' "); //42行
改为:
$row = $dsql->GetOne("SELECT id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `#@__arctype` WHERE id='$typeid' ");
2.找到如下代码:
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);
在其下面添加如下代码:
$row['parent_name'] = $row['parent_id'] ='';
if(!empty($row['topid'])){
row1 = $dsql->GetOne("select typename as parent_name,id as parent_id from `#@__arctype` where id ='".$row['topid']."'");
$row['parent_name'] = $row1['parent_name'];
$row['parent_id'] = $row1['parent_id'];
} else {
$row['parent_name'] = $row['typename']; //如果时顶级栏目,就显示为该栏目名称
$row['parent_id'] = $row['id'];
}
3.前台调用方法:
<!--如果是内容页模板,可以不用指定typeid,直接调用-->
{dede:type}[field:parent_name/]{/dede:type}
{dede:type}[field:parent_id/]{/dede:type}
<!--在首页或者列表页模板,可指定typeid调用-->
{dede:type typeid='1'}[field:parent_name/]{/dede:type}
{dede:type typeid='1'}[field:parent_id/]{/dede:type}
附加:
1.调用当前栏目的名称
{dede:field name="typename"}
2.调用该顶级频道下所有子栏目,row代表调用5条
{dede:channel type='son' row='5'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:channel}
3.调用子栏目的当前顶级栏目名称
{dede:channel type='top'}<a>[field:typename/]</a> {/dede:channel}
4.调用指定栏目ID
{dede:type typeid='栏目id'} <a href="[field:typeurl/]">[field:typename/]</a> {/dede:type}
Dedecms中{dede:type}标签支持调用父级栏目名称的更多相关文章
- 织梦 dedecms 中LOOP 万能标签循环 调用 arcurl标签(获取链接)
在DEDECMS中,提供了loop万能循环标签,但是此循环标签只能循环出该表中的字段,而“[field:arcurl/]”链接标签并不能被解析出来,而DEDECMS官方论坛上也没有找到相关的解决办法, ...
- DedeCMS让{dede:list}标签支持weight权重排序
1.找到"根目录\include\arc.listview.class.php"文件. 2.修改代码:在文件第727行处添加按weight排序判断代码(红色部分为新添加代码). / ...
- Job中织梦标签的调用
织梦CMS是一个好东东, 可以让一个网站更好维护和管理, 唯一让我感到忧桑的就是经常在搭后台的时候记不住那些标签,,无奈只能去看手册,有相同的案例直接COPY过来,直接用就OK~~~其实CMS这个东西 ...
- easyui中combotree只能选子选项,父级不被选中
前言 前几天面试遇到一个需求(easyui中combotree只能选子选项,父级不被选中),回来特意整理下,大概的思想是如果该tree的节点被选中是判定一下是否有子节点,如果没有就说明是最终节点了,步 ...
- Thinkcmf子栏目获取父级栏目所有子栏目列表
网站建设时经常需要输出某个栏目的子栏目,对应的在子栏目列表页也需要输出父级栏目的子栏目列表,thinkcmf可以输出所有子栏目,但却无法在子栏目列表页也适用, 因此就需要通过对数据库表查询来完成需求: ...
- DEDECMS中,arclist标签
文档列表 dede:arclist 标签: {dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidt ...
- DEDECMS中,channel标签
获取栏目列表标签 dede:channel 标签: {dede:channel type='top' row='8' currentstyle="<li><a href=' ...
- DEDECMS中,channelartlist标签
当前频道的下级栏目的内容列表 dede:channelartlist 标签: {dede:channelartlist row=6} <dl> <dt><a href=' ...
- js调用父级frame中的方法
父级frame中的方法: function hideOutline() { $("#outline").hide(); $("#content").attr(& ...
随机推荐
- DRF认证组件
1.DRF认证组件之视图注册用法(自定义简单使用) settings.py配置 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.a ...
- HTTP响应格式
HTTP响应格式
- Django模板之模板标签
标签比变量更加复杂:一些在输出中创建文本,一些通过循环或逻辑来控制流程,一些加载其后的变量将使用到的额外信息到模版中. 一些标签需要开始和结束标签 (例如:{% tag %} ...标签 内容 ... ...
- 基于postman测试接口(整套接口测试)
基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...
- Java——java.lang.NullPointerException
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileManager = ...
- JavaScript变量语法扩展
1.更新变量 一个变量被重新赋值后,它原有的值会被覆盖,变量值将会以最后一次赋值为准. 2.同时声明多个变量 var age = 18 , address ='火影村' , gz = 2000 ; ...
- [SD心灵鸡汤]005.每月一则 - 2015.09
精彩的激励人生的话都是从成功者嘴里说出来的,他们成功的过程我们仅仅知道一二,结果却是名满天下.既然看这个激励语,就是想要成功的人,所以大家好好读懂,然后执行,那么你离成功就不远了! 1.万里寻山历百艰 ...
- AD17无法复制原理图到Word的解决方法
标题: 解决AD17无法复制原理图到WORD 作者: 梦幻之心星 347369787@QQ.com 标签: [AD, Word, 原理图] 目录: 软件 日期: 2019-3-17 目录 前提说明: ...
- 使用PRTG和panabit结合定位网络阻塞的来源
一.背景 在网络管理工作中,有时会出现网络阻塞,需要定位阻塞来源以采取措施解决问题.二.以一个网络阻塞案例说明定位方法 案例:某企业日常使用多条网络线路,某一段时间发现某条线路传输速率下降,对 ...
- 八、【spring】web应用安全设计
内容 Spring Security 使用Servlet规范中的Filter保护Web应用 基于数据库和LDAP进行认证 关键词 8.1 理解Spring Security模块 Spring Secu ...