dedecms如何调用栏目中栏目内容
找到栏目,更改里面的常规选项最下面有栏目交叉选项,选手工指定交叉栏目,在下面填你要交叉的栏目,这样,你就可以在当前栏目里面调用到你指定交叉的那几个栏目的文章了。
或者直接用{dede:sql}或{dede:php}标签去调也行的。
{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}
单纯的使用{dede:fieldcontent/},是调用不到首页的,貌似只能调用到栏目页,如果想要调用到首页或者是其它页面的任何位置需要使用
{dede:sql sql='Select content from dede_arctype where id=2' }
[field:content function='cn_substr(html2text(@me),550)'/]
{/dede:sql}
需要注意的是,如果安装dede时修改了数据表前缀,则需要把dede_arctype中的dede替换成你的数据表前缀,2,代表你想要调用栏目内容的栏目ID,下面的则是调用的限制字数,使用这个调用,可以调用的你网站的任意栏目内容到任意位置。
贴出一些css和channelartlist
css部分:
<style>
type{dede:fieldid/}{ color:#b96704; font-weight:bold; background:#fff}
#dis{dede:fieldreid/},#dis{dede:fieldid/}{ display: block}
on{dede:fieldreid/},on{dede:fieldid/}{ font-weight:bold; color:#000}
</style>
这部分一定要放到模板页面,不能使用link来加入
--------------------------------------------------------------------------------------
channelartlist 循环部分
<ul>
{dede:channelartlist }
<li class="tenint"><a href='{dede:field name='typeurl'/}' class=" on{dede:fieldid/}">{dede:field name='typename'/}</a></li>
<ul class='autod' id="dis{dede:fieldid/}">
{dede:sql sql='Select from dede_arctype where reid =~id~'}
<li><a href="/plus/listphptid=[field:id/]" class="type[field:id/]">[field:typename /]</a></li>
{/dede:sql}
</ul>
{/dede:channelartlist}
</ul>
--------------------------------------------------------------------------------------
这个就可以实现二级 甚至三级的当前效果
这个我是用js的方法实现的。
1、左侧的列表正常调取
2、建立一个隐藏的div,里面的内容是当前栏目的标题
3、取到隐藏div的内容,去左侧栏目比对,相同则增加响应的class
效果蛮好,而且不用修改dede的代码,js组件很方便用。
有案例可看,如果需要可以私信我,这里发网址容易被屏蔽。
{dede:channelartlist typeid='1,2,3,4,5,6' row='10'}
<li><a href=”{dede:field name=’typeurl’/}”><span class="name">{dede:field name='typename'/}</span></a></li>
{/dede:channelartlist}
记者要放对位置
0条评论