找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1276|回复: 0

[分享] dedecms二次开发时使用{dede:arclist},{dede:list}获取附件字段

[复制链接]
发表于 2018-7-3 07:43:18 | 显示全部楼层 |阅读模式 来自 河南省新乡市
以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。

用arclist调用于附加表字段的方法:

方法一:

要获取附加表内容,必须符合两个条件
1、指定 channelid 属性(注意:channelid不是栏目id,而是自定义模型的id!)
2、指定要获得的从表字段:addfields=’字段1,字段’
如:
  1. {dede:arclist addfields=’video_description,video_id’ row=’8′ channelid=’3′}
  2. [field:video_description /] – [field:video_id /]
  3. {/dede:arclist}
复制代码


其中addfields=’video_description,video_id’是附加表中的两个字段。除指定的附加表字段外,其它底层字段如arcurl,title,infos等均能正常调用。

同样,dede:list标签也可调取附加表字段,和arclist不同的是不用指定channelid,因为系统能自动判断。
调用格式如下:
  1. {dede:list addfields=’video_description,video_id’ pagesize=’8′}
  2. [field:video_description /] – [field:video_id /]
  3. {/dede:list}
复制代码


注意:取出的是附加表中所有记录的相应字段。

方法二:

DedeCms在dede:arclist标签如何调用附加表内容(其他标签一样适用)
  1. {dede:arclist titlelen='26' row='20' orderby='id'}
  2. [field:id runphp="yes"]
  3. $dsql = new DedeSql(false);
  4. $a="SELECT * FROM dede_addongame_tg where aid=@me";
  5. $arcRow = $dsql->GetOne($a);
  6. @me='url="'.$arcRow[sptype].'" leixing="'.$arcRow[model];
  7. [/field:id]
  8. {/dede:arclist}
复制代码


可以根据列表中每一条记录的不同id来获取另外一个表中某条记录的内容。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-5-18 17:55 , Processed in 0.042758 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表