想要实现织梦DedeCMS任意位置调用自定义字段,就得先了解DEDECMS自定义字段其实就是添加了个附加的表,要调用附加表的内容有list和arclist两种方法。譬如增加一个自定义字段商品的价格price
①.list调用附加表字段
|
1
2
3
|
{dede:list pagesize='5'} <li><a href="[field:arcurl/]"><img src="[field:litpic/]" /></a><span>[field:price/]</span></li> {/dede:list} |
用list调取自定义字段的时候,一定要注意在后台建立字段的时候,前台参数那里的“使字段可以在列表的底层模板中获得”这个选项勾选,如下图。
当勾选之后,在当前的内容模型管理的基本设置里的列表附加字段会自动加入字段名称,如下图。
②.arclist调用附加表字段
|
1
2
3
|
{dede:arclist row='5' addfields='price' channelid='3'} <li></a href="[field:arcurl/]"><img src="[field:litpic/]" /></a><span>[field:price/]</span></li> {/dede:arclist} |
要获取附加表内容,必须符合两个条件
1、指定 channelid 属性(内容模型的id值)
2、指定要获得的字段 addfields='字段1,字段'
在文章内容页面,可以直接使用{dede:field.price/}来获得价格的值。
☞ 拓展:织梦dedecms更新列表页提示Fatal error: Call to a member function GetInnerText() on a non-object in...
这个错误提示会在更新自定义模型栏目列表的时候出现,解决办法如下所示:
打开 /inculde/taglib/channel/img.lib.php文件 找到第51行代码,如图
|
1
2
|
将$innerTmp = $arcTag->GetInnerText();替换为 $innerTmp = ($arcTag=="") ? trim($arcTag) : trim($arcTag->GetInnerText()); |
保存即可。
本文介绍如何在织梦DedeCMS中任意位置调用自定义字段,包括使用list和arclist方法的具体步骤及注意事项。此外,还提供了解决织梦更新列表页出现Fatal error的方法。



542

被折叠的 条评论
为什么被折叠?



