织梦调取某个栏目链接
在织梦后台折腾栏目调用,织梦最直接的栏目链接办法是记住这个标签:{ dede:channel type='son' typeid='目标栏目ID'}。别急着复制,织梦先搞清楚typeid从哪来——打开栏目管理,栏目链接鼠标悬停在你想要的织梦那个栏目名上,浏览器左下角会闪现一串数字,栏目链接那就是织梦它的身份证。好比你要找一个人,栏目链接先得知道门牌号。织梦
typeid填进去以后,栏目链接循环体里输出什么?织梦[field:typelink/]是链接地址,[field:typename/]是栏目链接栏目名称。这俩组合起来,织梦一个能点的栏目链接入口就出来了。我见过有人把整个栏目列表全调出来,织梦页面塞得跟杂货铺似的,其实只需要一个子栏目的入口,这时候就得靠typeid锁死方向。
举个例子。你有个“产品中心”的顶级栏目,ID是3,下面挂了“工业设备”和“家用电器”两个子栏目。你想在首页只放“工业设备”的链接,代码就该写成:
{ dede:channel type='son' typeid='3'}
<a href="[field:typelink/]">[field:typename/]</a>
{ /dede:channel}
但这样会把两个子栏目都打出来。要是只想要“工业设备”那一个,直接改typeid成它的实际ID,比如5,循环里自然只剩一条。别嫌笨,织梦的channel标签就是这么实在——你给什么ID,它就吐什么内容,不带半点自作主张。
有个坑得提醒你。typeid填顶级栏目时,type='son'会列出所有直接子级,如果子栏目下面还有孙子栏目,得用type='sun'才能继续往下钻。但很多人不知道,type='self'能调出当前栏目自身——比如你在文章页想返回它所属的栏目首页,用这个就对了。我试过最省事的写法是在列表页或内容页模板里直接写死typeid,改版时再统一替换,比动态判断快得多,尤其适合那种一年才动一次栏目的老站。
还有个小技巧。如果你不想让链接文字干巴巴的,可以在标签里加点样式,或者用[field:arcurl/]配合{ dede:field name='typeid'/}来拼URL——后者适合在自定义SQL查询里用,灵活性高,但新手容易把字段名写错。我的建议是,先跑通最简单的channel标签,等真遇到“需要同时显示栏目名和栏目描述”这种需求时,再去翻arclist的typeid参数,别一开始就追求万能。
最后说个我踩过的坑。栏目链接调出来是相对路径,比如/plus/list.php?tid=5,要是站点启用了伪静态,得确认后台的“栏目URL规则”没改过。否则你费劲调出来的链接点进去404,用户骂娘,你还得回头查缓存。织梦这玩意,标签本身不坑人,坑人的永远是配置和缓存。
调栏目链接这事,本质上就是告诉织梦“我要哪个门牌号下的哪类东西”。ID给对了,标签写全了,剩下的交给模板引擎。别想太多,跑通一次,你就再也不会被它卡住了。






评论专区