dede channel调用顶级栏目 怎样嵌套别的标签调用二级栏目?

如题,例如:
{dede:channel type='top' currentstyle="<li><a href='~typelink~' id='menu_selected'><span>~typename~</span></a>"}

<li><a href='[field:typelink/]'><span>[field:typename/]</span></a> </a></li>

<ul class="sdmenu">
{dede:channel type='son' }//channel当然是不能用在这里的,有别的标签可以代替吗?
<li><a href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
{/dede:channel}

channel要用来调用当前栏目的样式,听说currentstyle只能用在channel里,所以channel只能放第一,那么,嵌套调用二级栏目,该怎样弄?求大神呀~

第1个回答  推荐于2017-11-26
{dede:channelartlist typeid="top"}
<li><a href="{dede:field name="typeurl"/}">{dede:field name="typename"/}</a>
<ul>
{dede:channel type="son"}
<li><a href="[field:typeurl/]">[field:typename/]</a></li>
{/dede:channel}
</ul>
</li>
{/dede:channelartlist}
注意,就是在外层的标签调用使用的不是[field:??/]这种,而是{dede:field.??/}这种,你自己试试追问

这个是可以使用,我试过了,但是外层channelartlist不能用这个currentstyle,要怎么解决?我需要当前栏目的样式是会有点变化的。

例如:当现在是“公司主页”栏目的时候,背景就会变面另一种颜色,其他的栏目背景颜色不变。反之是其他栏目的时候,背景颜色也会变。

追答

你这样做啊,判断typeid是不是当前栏目的id,是的话改变样式就行啊

{dede:field name="typeid"}
    if(@me==$_GET[tid])
    {
        //这里是选中时候的样式
        @me="style='......'";
    }
{dede:field}

这个你放在

<li><a //放在这里,是当前栏目id的时候输出样式 href="{dede:field name="typeurl"/}">{dede:field name="typename"/}</a>

本回答被提问者采纳
第2个回答  2013-09-12
复制下面的代码
{dede:channelartlist typeid='top' row='6'}
<li class=""><a href="{dede:field name='typeurl'/}"><span class="arrow"></span>{dede:field name='typename'/}</a>
<div style="display: none;" class="header_list">
{dede:channel type='son' noself='yes' }
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
</div>
</li>
{/dede:channelartlist}
里面的html标签根据自己的需要改,但是dede标签不要改本回答被网友采纳
相似回答