自定义dedecms栏目的排列顺序
来源:互联网 发布:ipad pro实用软件 编辑:程序博客网 时间:2024/05/21 10:50
前端首页模板部分代码(添加了myorder="typename"):
<ul>
<li><a href="{dede:global.cfg_cmsurl/}" target="_self">首页</a></li>
{dede:channel myorder="typename" type="top" row="8"}
<li><a href="[field:typeurl/]" title="[field:typename/]" target="_self">
[field:typename/]
</a></li>
{/dede:channel}
</ul>
修改include\taglib\channel.lib.php,将以下代码:
if($type=='top')
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
}
else if($type=='son')
{
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
else if($type=='self')
{
if($reid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
//And id<>'$typeid'
$needRel = false;
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace('field','[',']');
$dtp2->LoadSource($innertext);
//检查是否有子栏目,并返回rel提示(用于二级菜单)
if(preg_match('#:rel#', $innertext)) $needRel = true;
if(empty($sql)) return '';
$dsql->SetQuery($sql);
$dsql->Execute();
$totalRow = $dsql->GetTotalRow();
//如果用子栏目模式,当没有子栏目时显示同级栏目
if($type=='son' && $reid!=0 && $totalRow==0)
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}
改为:
$myorder=$ctag->CAttribute->Items["myorder"];
if(empty($myorder)){
$sortrank="sortrank";
}else{
$sortrank=$myorder;
}
if($type=='top')
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid=0 And ishidden<>1 order by $sortrank asc limit 0, $line ";
}
else if($type=='son')
{
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by $sortrank asc limit 0, $line ";
}
else if($type=='self')
{
if($reid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by $sortrank asc limit 0, $line ";
}
//And id<>'$typeid'
$needRel = false;
$dtp2 = new DedeTagParse();
$dtp2->SetNameSpace('field','[',']');
$dtp2->LoadSource($innertext);
//检查是否有子栏目,并返回rel提示(用于二级菜单)
if(preg_match('#:rel#', $innertext)) $needRel = true;
if(empty($sql)) return '';
$dsql->SetQuery($sql);
$dsql->Execute();
$totalRow = $dsql->GetTotalRow();
//如果用子栏目模式,当没有子栏目时显示同级栏目
if($type=='son' && $reid!=0 && $totalRow==0)
{
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by $sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}
至于详细内容,建议学习【韩顺平主讲织梦dedecms 5.7二次开发实战仿站模板制作教程】
- 自定义dedecms栏目的排列顺序
- dedecms栏目添加字段--栏目自定义字段
- dedecms自定义获取上级栏目名称和链接的标签 (返回上级栏目按钮)
- dedecms调用当前栏目的上级栏目
- 织梦dedecms栏目添加自定义字段
- dedecms的文章和栏目的自定义字段的添加、调用以及完全删除方法
- dedecms自定义字段的添加及如何实现在栏目页首页的调用
- 分享一个dedecms自定义获取上级栏目名称和链接的标签
- 自定义DedeCMS后台图集上传图片的显示顺序
- 自定义DedeCMS后台图集上传图片的显示顺序
- DedeCMS子栏目在子栏目或内容页,调用所在顶级栏目的栏目名
- DedeCMS调用指定栏目不包含下级栏目的问题
- DedeCMS调用指定栏目不包含下级栏目的问题
- DEDECMS调用顶级栏目+顶级栏目ID的方法
- dedecms 循环当前栏目下的二级栏目
- dedecms栏目修改的二次开发 增加栏目属性
- dedecms调用二级栏目、子栏目的方法详解
- 织梦dedecms产品栏目调取子栏目错乱的解决方法
- ReactiveCocoa RAC 响应式函数编程(FRP)
- 宝岛探险
- [leetcode 298] Binary Tree Longest Consecutive Sequence---求二叉树连续序列的长度
- ECNU_OJ_1006
- 开发中常用的一些命令
- 自定义dedecms栏目的排列顺序
- 字符串操作题
- VM虚拟机 NAT网络设置
- 抗合谋数字指纹嵌入及其追踪技术
- Java中的集合
- 13.Ubuntu上更换163源
- 一个存储函数的问题错误
- 文章标题
- Java重点知识巩固学习笔记