织梦自定义模型与附加表字段调用方法

织梦DedeCMS自定义模型是非常强大的功能,有时候我们制作了一个自定义模型,想要在任意位置调用自定义字段。怎么实现调用织梦的自定义模型字段呢?首先需要了解一下织梦自定义模型的原理。织梦DEDECMS自定义字段其实就是添加了个附加的表,要调用附加表的

  织梦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标签获取自定义模型附加表字段方便很多。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

1 打开修改puls/advancedsearch.php文件,找到复制代码(不同版本可能有所差别) $query = SELECTaddon.*,arctype.*FROM$addontableaddon LEFTJOINarctypeONarctype.id=addon.typeid $where$orderby ; } else { $query = SELECTmain.idASaid,main.*,main.des
在dedecms系统后台,分别设置了三处地方,如下: 1、我copy了普通文章模型,增加了一个字段。允许投稿,级别为 注册会员,组别不限制 2、新建一个栏目,内容模型为此模型,且允许投稿 3、
在系统模型中添加了一个自定义附件类型字段的时候 例如我在后台添加一个名为fujian的附件类型的字段 字段的实际内容为:/uploads/soft/100602/1-100602212355.jpg 倘 若前台调用直接用{dede:field.fujian/}则显示不正确。 修改办法为:模板是在/templets/sys
1、必须指定 channelid (内容频道id); 这句的意思是你是在那个模型上创建的字段,比如你在普通文章或商品模型上增加了1个字段flvurl,在内容模型管理中,普通文章模型或商品模型的ID是1或6 2、直接在标记指定要调用的字段(可以在内容提模型管理中看这些字
对于新建的 dedecms 自定义模型,如何采集数据呢? 打开\dede\templets\co_add_step0.htm,找到(大约在17行): select name = channelid id = channelid style = width:250px ? php $dsql- SetQuery(Selectid,typenameFrom`2dedecms_channeltype`whereidin