网站地图    收藏   

主页 > 后端 > dedecms >

dedecms读取三级栏目路径出现%7Bcmspath%7D的 - DeDec

来源:自学PHP网    时间:2014-11-30 17:03 作者: 阅读:

[导读] 实现代码:其实也就是一个标签嵌套:!--代码开始-- {dede:channelartlisttypeid=6row=4} divclass=list spanahref={dede:fieldname=#39;typeurl#39;/}{dede:fieldname=#39;t......

dedecms读取三级栏目路径出现%7Bcmspath%7D的

实现代码:其实也就是一个标签嵌套:

  1. <!--代码开始--> 
  2.   {dede:channelartlist typeid=6 row=4} 
  3.   <div class="list"
  4.   <span><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></span 
  5.   <ul> 
  6.   {dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,7'
  7.   <li><a href='[field:typedir/]' target='_blank'>[field:typename/]</a></li 
  8.   {/dede:sql //开源软件:phpfensi.com 
  9.   </ul> 
  10.   </div> 
  11.   {/dede:channelartlist 
  12.   <!--代码结束--> 

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)来截取了.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论