
织梦怎么调用顶级栏目以及下面的二级栏目?
织梦调用顶级栏目以及下面的二级栏目
推荐学习:织梦cms
有些时候需要调用顶级栏目以及下面的二级栏目,例如再做下拉菜单时。最简单的调用二级栏目的办法:
{dede:channelartlist typeid='top'}
-
{dede:channel type='son' noself='yes'}
- [field:typename/] {/dede:channel}
有些时候需要做样式时,需要为dede:channelartlist 里的某个标签加上不同的css,例如下面的例子:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
{dede:channelartlist typeid='top'}
-
{dede:channel type='son' noself='yes'}
- [field:typename/] {/dede:channel}
{dede:global name='itemindex'/}为在每次调用顶级栏目,自动递增。
更复杂的调用二级栏目的方式,要用dede:php标签,如下例:
- 网站首页 {dede:channelartlist typeid='top'} {dede:php} $thisid = $refObj->Fields['id']; $dsql->SetQuery("Select * from `dede_arctype` where reid=".$thisid." ORDER BY sortrank"); $dsql->Execute(); $i=0; while($arr = $dsql->getArray()){ $i = $i +1; $str = implode(',',$arr); if(!empty($str) && $i==1){ echo '
- '; if(empty($str)){ echo '
';
}
echo '- '.$arr['typename'].' '; } if(!empty($str)) echo '
- '; } {/dede:php} {dede:field name='typename'/} {/dede:channelartlist}
这种方式虽然更复杂,但也更灵活。









