View Single Post
  #1   IP: 49.87.40.74
Old 2014-04-18, 08:42 AM
Hackberry Hackberry is offline
初级会员
 
Join Date: 2013-08-16
Posts: 1
Hackberry 现在声名狼藉
Default Dedecms三级栏目的调用方法

目录样式:栏目一


子栏目

孙栏目

这样调用出来。直接用标签实现不了。要用到数据库SQL调用下。




实现代码:

<!--代码开始-->

{dede:channelartlist typeid=6 row=4}

<div>

<span><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></span>

<ul>

{dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,7'}

<li><a href='[field:typedir/]' target='_blank'>[field:typename/]</a></li>

{/dede:sql}

</ul>

</div>

{/dede:channelartlist}

<!--代码结束-->




typeid='' 指定顶级栏目就可以了,

limit0,7 这个7是控制三级栏目的显示个数的,显示样式自己调整CSS

有时虽然调用出来了。但多了一个{cmspath}




解决办法:

<a href='[field:typedir function="cn_substr(@me,50,9)"/]' target='_blank'>[field:typename/]</a>




cn_substr(@me,50,9)这个说明一下:

@me这个是返回的值 {cmspath}/aaa

这个函数是字符截取。截取长度为50,若没有50个,会截取所有的。。9是开始截取的位置。。。

调用出来后路径中都带有 {cmspath}利用这个直接把{cmspath}截取掉了.

如果是在二级目录下,虽然{cmspath}被截取掉啦,但是路径确不对,这时可将

<li><a href='[field:typedir/]' target='_blank'>[field:typename/]</a></li>

换成

<li><a href='[field:typeurl/]' target='_blank'>[field:typename/]</a></li>

这样就不需要cn_substr(@me,50,9)来截取了。
Reply With Quote