dedecms调用当前栏目的子栏目怎么操作
dedecms列表页如何调用子栏目列表以及子栏目的名称的方法。
如下参考:
1打开梦想编织设备的主界面,直接找到增加顶级top程序,选择跳转。
2此时,进入新的对话框,根据实际情况设置相关参数。
3如果下一步没有问题,点击确定,如下图。
4以便在特殊情况下看到相应的结果,可以转移到使用指定列下的子列列表中。
当你加入typeid='2' 似乎判断高亮就失去了意义,你可以直接在模板里面实现高亮,你可以把
<dd class="move"><span><a href="/dongtai/">公司动态</a></span></dd>
<dd><span><a href="column/xinniangguwen/"> ****</a></span></dd>
<dd><span><a href="column/huodong/"> 关于我们</a></span></dd>
这些直接用栏目体现出来,然后把typeid='2'去掉,应该就可以显示高亮~
{dede:channel type='son' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}
<li><a href='[field:typelink/]'>[field:typename/]</a> </li>
{/dede:channel}
参数说明:
typeid = '0' 栏目ID
reid = '0' 上级栏目ID
row = '100' 调用栏目数
type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目
currentstyle = '' 应用样式
这个我是用js的方法实现的。
1、左侧的列表正常调取
2、建立一个隐藏的div,里面的内容是当前栏目的标题
3、取到隐藏div的内容,去左侧栏目比对,相同则增加响应的class
效果蛮好,而且不用修改dede的代码,js组件很方便用。
有案例可看,如果需要可以私信我,这里发网址容易被屏蔽。
{dede:field name='typeid' runphp='yes'}
global $dsql;
/获取当前栏目id/
$typeid = @me;
$query = "SELECT reid FROM dede_arctype where id = $typeid";
$rs = $dsql->GetOne($query);
$reid = $rs['reid'];//获取到栏目的上级栏目
/获取上级栏目id/
$query2 = "SELECT FROM dede_arctype where id = $reid";
$typerow = $dsql->GetOne($query2);
/输出上级栏目信息/
$typename = $typerow['typename'];
$link = GetTypeUrl($typerow['typeid'],MfTypedir($typerow['typedir']),$typerow['isdefault'],$typerow['defaultname'],$typerow['ispart'],$typerow['namerule2'],$typerow['moresite'],$typerow['siteurl'],$typerow['sitepath']);
@me = "<a href='/{$link}'>$typename</a>";
{/dede:field}
0条评论