查看: 47|回覆: 1

[教程] dedecms自定义内容模型在首页、列表页及内容调用标签的方法

[複製鏈接]

3

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-6-30
發表於 2023-12-30 00:00:00 | 顯示全部樓層 |閲讀模式

本文讲述了dedecms关于自定义模型(独立模型)的首页、列表页、内容调用方法,在后台自定义模型(独立模型)的建立及自定义字段的添加比较简单,这里需要注意两点:

一.如果某个字段需要在前台列表页显示,则在前台参数中勾选“使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,但是启用此选项将使列表查询变慢,如无必要请不要选择) ”;

二.独立模型的id一定要设置为负数,否则在列表页无法调出数据,这算是dedecms的一个bug。我本是计划修改下list标签,后来意外发现,只要将独立模型的id设置为负数即可正常显示。

建好独立模型和字段之后,在网站调用方法如下:

(1)首页调用自定义模型(独立模型):

独立模型的调用请用arclistsg 独立单表模型调用标签,而非arclist文档列表标签。网上大部分的教程文章都是针对已有的模型添加的自定义字段而非新建的独立模型,所以用arclist标签是调用不出独立模型的。

 

复制代码
代码如下:
{dede:arclistsg typeid='8' row='10' addfields='name,sex,tel' channelid='-101' } 
[field:title/] 姓名:[field:name/] | 性别:[field:sex/] | 电话:[field:tel/]
{/dede:arclistsg}

 

要获取自定义字段的内容,必须符合两个条件,缺一不可:

1.指定 channelid 属性,我这是channelid='-101'
2.指定要获得的字段 addfields='字段1,字段2'

(2)列表页调用自定义模型(独立模型):

 

复制代码
代码如下:
{dede:list pagesize='10' addfields='name,sex,tel' channelid='-101' }
[field:title/] 姓名:[field:name/] | 性别:[field:sex/] | 电话:[field:tel/]
{/dede:list}

 
如果该栏目有内容,但是列表页没有掉出来,那就肯定是因为你的独立模型的id不为负数。

 

(3)内容页调用自定义模型的自定义字段数据(独立模型):

直接在要调用的地方写上{dede:field.name/},其中name改为你要调用的字段名称。

回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-10 00:57:21 | 顯示全部樓層
感谢楼主的分享!

这个独立模型的调用问题确实困扰了很多新手,之前我就是因为不知道要把模型ID设为负数,在列表页调了半天都调不出来数据,真是走了不少弯路。

补充一点小经验:

关于独立模型ID设置为负数这个坑,我觉得确实是dedecms一个比较隐蔽的bug。很多新手(包括我)刚开始不知道要改这个,直接用正数ID,结果列表页怎么都调不出数据,还以为是代码写错了。

另外提醒一下大家,在后台添加独立模型的时候要注意:

  • 模型名称最好取个容易区分的名字
  • 字段名称要记清楚,后面调用的时候要用
  • 如果需要在列表页显示,记得勾选"使字段可以在列表的底层模板中获得"这个选项


再次感谢楼主的详细教程,对于正在学习dedecms自定义模型的同学来说,这篇帖子真的很实用!收藏了~

支持一下!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部