,{dede:arclist typeid='id1,id2,id3'},
`,,
typeid属性的值是一个由逗号分隔的栏目ID列表,表示要调用的多个栏目。将
id1、
id2、
id3`等替换为实际的栏目ID即可。在织梦DeDeCms中,多栏目调用是网站开发过程中常见的需求,通过合理利用typeid参数,可以有效地实现对多个栏目的调用和展示,以下是详细的介绍:
织梦DeDeCms多栏目调用的基本方法
1、顶级栏目调用:对于只有主栏目,没有子栏目的情况,通常适用于企业网站和个人网站,可以使用如下代码进行调用:
{dede:channel type='top' currentstyle="<li class='thisclass'><a href='~typelink~'>~typename~</a></li>"}
注释(参数):typeid='0'
表示栏目ID;reid = '0'
表示上级栏目ID;row = '100'
表示调用栏目数;col = '1'
表示分多少列显示(默认为单列);type = 'son | sun'
son表示下级栏目,self表示同级栏目,top顶级栏目;currentstyle = ''
应用样式。
2、带有二级子栏目的栏目调用:这种栏目常用于信息分类较多的网站,可以使用如下代码进行调用:
{dede:channelartlist typeid='1,2,3,6,7,10,8,11' row='10'} <li class="tab dropdown"> <a id="{dede:field name='id'/}" href="{dede:field name='typeurl'/}" class="tablink arwlink"> {dede:field name='typename'/} </a> <ul class="subnav"> {dede:channel type='son' noself='yes'} <a href="[field:typelink/]">[field:typename/]</a> {/dede:channel} </ul> </li> {/dede:channelartlist}
对于没有子栏目的顶级栏目可以使用调用指定栏目的标签:
{dede:type typeid=‘指定栏目的id’} <li> <a href="[field:typelink /]">[field:typename /]</a> </li> {/dede:type}
这样可以实现上述栏目的调用。
3、带有三级子栏目的栏目调用:这种栏目常用于商城等复杂结构的导航,可以使用如下代码进行调用:
<li> <h3> {dede:type typeid='2'}<a href='[field:typelink/]' class="depth_1"> [field:typename/]</a>{/dede:type} </h3> //顶级栏目的调用 <ul class="children" style="display: none; "> {dede:channelartlist typeid='top' typeid='2'} //二级栏目和三级栏目的调用这里typeid='子栏目所属的顶级栏目的id' <li> <h3 > <a href='{dede:field name='typeurl'/}' class="depth_2"> <span class="icon10"></span>{dede:field name='typename'/} </a> </h3> <ul> {dede:sql sql='Select * from dede_arctype where reid=~id~ ORDER BY id limit 0,20'} //limit 起始三级栏目id 显示栏目的条数 <li><a href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" class="depth_3">[field:typename/]</a> </li> {/dede:sql} </ul> </li> {/dede:channelartlist} </ul> </li>
这种方法可以实现包括顶级、二级和三级栏目的全面调用。
织梦DeDeCms多栏目调用的实际应用
在实际的网站开发中,经常需要在页面某一板块调用多个栏目的信息,如果建立了10个栏目,但只想在这一板块调用其中3个栏目的信息,可以通过设置typeid参数来实现,具体写法如下:
{dede:arclist row=1 titlelen=28 orderby=pubdate typeid="1,4,8"}
这样就只调用第1、第4、第8这3个栏目的内容了,这种方法可以灵活运用到其他板块中,把栏目ID用“,”隔开即可。
相关问答FAQs
1、如何在首页调用多个指定栏目的内容?
解答:在首页模板文件中,使用{dede:arclist}
标签,并通过typeid
参数指定要调用的栏目ID,如果想调用第1、第4、第8这三个栏目的内容,可以写为:{dede:arclist typeid="1,4,8" ...}
,这样,首页就会显示这三个栏目的文章列表。
2、如何获取当前顶级栏目的名称和URL?
解答:可以在include/common.func.php
文件中添加自定义函数来获取当前顶级栏目的名称和URL,添加以下函数:
function GetTopTypename($id){ global $dsql; $row = $dsql>GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0'){ return $row['typename']; }else{ $row1 = $dsql>GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]"); return $row1['typename']; } } function GetTopTypeurl($id){ global $dsql; $row = $dsql>GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id"); if ($row['topid'] == '0'){ return $row['sitepath']; }else{ $row1 = $dsql>GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]"); return $row1['sitepath']; } }
然后在模板中使用{dede:field name='typeid' function="GetTopTypename(@me)" /}
和{dede:field name='typeid' function="GetTopTypeurl(@me)" /}
来分别获取当前顶级栏目的名称和URL。
调用方式 | typeid="id" |
适用场景 | 多栏目调用特定栏目内容 |
参数说明 | typeid :指定调用栏目的ID;id :具体栏目的ID值 |
代码示例 | 以下是一个简单的代码示例,用于在织梦DeDeCms中调用指定ID的栏目内容: |
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1189705.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复