织梦全站调用自定义字段的几种方式

摘要:我们在给模型添加自定义字段后,TAG 标签列表页和搜索页需要显示自定义的字段时,织梦默认是无法显示自定义字段的内容的。网上很多教程都是写死或者改动系统文件,这样不仅不够人性化,而且改动系统文件对升级存在影响。本文介绍个完美的方法,适用于用于织梦整站,包括会员和后台使用。

dede:arclist 调用自定义字段

{dede:arclist typeid="2" row="10" channelid="模型id号" addfields="自定义字段1,自定义字段2,时间类型字段"}
<li>
  <a href="[field:arcurl/]">[field:title/]</a>
  <p>价格:[field:自定义字段1/]</p>
  <p>地区:[field:自定义字段2/]</p>
  <p>时间:[field:时间类型字段 function="MyDate('Y-m-d H:i',@me)"/]</p>  
</li>
{/dede:arclist}

模型 id 号怎么填?根据你自己自定义字段所在的内容模型来填(如 channelid="1"普通文章)。

模型 id 号

自定义字段怎么填?根据自己要调用的自定义字段来填,多个字段之间用英文逗号隔开(如 addfields="jiage,diqu")。

自定义字段

dede:list 调用自定义字段

列表页 dede:list 标签写法,不需要 channelid="模型id号" addfields="自定义字段",只需要在后台自定义字段里勾上,

使字段可以在列表的底层模板中获得就行了。

使字段可以在列表的底层模板中获得

如果是程序禁止修改的字段:

禁止修改的字段

那就需要在 基本设置 里的 列表附加字段 这里添加:

列表附加字段

调用标签:

{dede:list pagesize="10"}
<li>
  <a href="[field:arcurl/]">[field:title/]</a>
  <p>价格:[field:jiage/]</p>
  <p>地区:[field:diqu/]</p>
  <p>时间:[field:time function="MyDate('Y-m-d H:i',@me)"/]</p>  
</li>
{/dede:list}

TAG 列表页和搜索页

我们在给模型添加自定义字段后,TAG 标签列表页和搜索页需要显示自定义的字段时,织梦默认是无法显示自定义字段的内容的。

网上很多教程都是写死或者改动系统文件,这样不仅不够人性化,而且改动系统文件对升级存在影响。下面介绍个完美的方法,适用于用于织梦整站,包括会员和后台使用。

打开 /include/extend.func.php ,在最下面加入:

//调用自定义字段
function GetAddField($aid,$addField)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT $addField FROM #@__addonarticle WHERE aid=$aid");
    return $row["$addField"];
}

TAG 标签列表页 taglist.htm 和搜索结果页 search.htm 模板调用标签:

[field:id function=GetAddField(@me,"自定义字段")/]
[field:id function="MyDate('Y-m-d H:i',GetAddField(@me,'时间类型字段'))"/]

什么?不喜欢添加自定义方法,那就直接用 runphp 吧。

[field:id runphp=yes]
    global $dsql;
    $row = $dsql->GetOne("SELECT 自定义字段 FROM #@__addonarticle WHERE aid=@me");
    @me = cn_substr(html2text($row["自定义字段"]),500);
    <!-- @me = MyDate("Y-m-d H:i",$row["时间类型字段"]); -->
[/field:id]

其中,把自定义字段,换成你自己的自定义字段即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。http://www.dedenotes.com/course/dede-addfields.html
(1)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

织梦Dedecms限制栏目列表生成的最大页数

Dedenotes 赞(3)

Dedecms默认并没有这个设置项,修改这个设置主要有二个目的:1)防止生成列表时消耗过多的时间。2)防止被采集,如果列表不加以限制,全站的文章都可以被索引到。

DedeCMS织梦后台管理搜索文章正文内容

Dedenotes 赞(3)

DedeCMS的后台管理,在文章列表下面可以进行搜索,输入关键字即可。但是这个搜索,只能搜索标题和作者,却不能找到正文包含该关键字的文章。以下修改,可以在后台输入关键字搜索时,找到正文里包含该关键字的普通文章。