织梦DedeCMS自定义模型是非常强大的功能,有时候我们制作了一个自定义模型,想要在任意位置调用自定义字段。怎么实现调用织梦的自定义模型字段呢?首先需要了解一下织梦自定义模型的原理。织梦DEDECMS自定义字段其实就是添加了个附加的表,要调用附加表的内容有list和arclist两种方法。当然,这种是可以使用织梦的SQL标签实现的,具体可以看一下织梦DedeCMS模板标签sql调用代码大全中的方法。这里用的是list和arclist标签两种方法,以增加一个自定义字段商品的价格price为例说明。
首先来说一下list标签调用自定义模型附加表字段代码:
1
2
3
4
5
|
{dede:list pagesize='5'} < ul style = "" > < li >< p >< a href = "[field:arcurl/]" >< img src = "[field:litpic/]" ></ a >[field:price/]</ p ></ li > </ ul > {/dede:list} |
用list调取自定义字段的时候,一定要注意在后台建立字段的时候,前台参数那里的“使字段可以在列表的底层模板中获得”这个选项勾选。当勾选之后,在当前的内容模型管理的基本设置里的列表附加字段会自动加入字段名称。
然后再来说一下arclist标签调用自定义模型附加表字段代码:
1
2
3
4
5
|
{dede:arclist row='5' addfields='price' channelid='3'} < ul style = "" class = " list-paddingleft-2" > < li >< p >< a href = "[field:arcurl/]" ></ a >< img src = "[field:litpic/]" >[field:price/]</ p ></ li > </ ul > {/dede:arclist} |
要获取附加表内容,必须符合三个条件:
指定 channelid 属性(内容模型的id值)指定要获得的字段 addfields='字段1,字段'channelid的属性只能是唯一的正确的id值字段名不能有-等特殊字符,最好是小写英文字母如果在文章内容页面,可以直接使用{dede:field.price/}来获得价格的值。基本上通过以上三种方法,就可以在任意位置获取织梦自定义模型字段的值了。比较而言,使用arclist标签获取自定义模型附加表字段方便很多。