dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容_dedecms_CMS教程_脚本之家

以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。 Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
用arclist调用于附加表字段的方法: Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
方法一: Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
要获取附加表内容,必须符合两个条件 Xfb迪尔课堂自学网-|第二课堂|--(官网)
1、指定 channelid 属性(注意:channelid不是栏目id,而是自定义模型的id!) Xfb迪尔课堂自学网-|第二课堂|--(官网)
2、指定要获得的从表字段:addfields=’字段1,字段’ Xfb迪尔课堂自学网-|第二课堂|--(官网)
如: Xfb迪尔课堂自学网-|第二课堂|--(官网)
{dede:arclist addfields=’video_description,video_id’ row=’8′ channelid=’3′} Xfb迪尔课堂自学网-|第二课堂|--(官网)
[field:video_description /] – [field:video_id /] Xfb迪尔课堂自学网-|第二课堂|--(官网)
{/dede:arclist} Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
其中addfields=’video_description,video_id’是附加表中的两个字段。除指定的附加表字段外,其它底层字段如arcurl,title,infos等均能正常调用。 Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
同样,dede:list标签也可调取附加表字段,和arclist不同的是不用指定channelid,因为系统能自动判断。 Xfb迪尔课堂自学网-|第二课堂|--(官网)
调用格式如下: Xfb迪尔课堂自学网-|第二课堂|--(官网)
{dede:list addfields=’video_description,video_id’ pagesize=’8′} Xfb迪尔课堂自学网-|第二课堂|--(官网)
[field:video_description /] – [field:video_id /] Xfb迪尔课堂自学网-|第二课堂|--(官网)
{/dede:list} Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
注意:取出的是附加表中所有记录的相应字段。 Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
方法二: Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
DedeCms在dede:arclist标签如何调用附加表内容(其他标签一样适用) Xfb迪尔课堂自学网-|第二课堂|--(官网)

复制代码
代码如下:
Xfb迪尔课堂自学网-|第二课堂|--(官网)
{dede:arclist titlelen='26' row='20' orderby='id'} Xfb迪尔课堂自学网-|第二课堂|--(官网)
[field:id runphp="yes"] Xfb迪尔课堂自学网-|第二课堂|--(官网)
$dsql = new DedeSql(false); Xfb迪尔课堂自学网-|第二课堂|--(官网)
$a="SELECT * FROM dede_addongame_tg where aid=@me"; Xfb迪尔课堂自学网-|第二课堂|--(官网)
$arcRow = $dsql->GetOne($a); Xfb迪尔课堂自学网-|第二课堂|--(官网)
@me='url="'.$arcRow[sptype].'" leixing="'.$arcRow[model]; Xfb迪尔课堂自学网-|第二课堂|--(官网)
[/field:id] Xfb迪尔课堂自学网-|第二课堂|--(官网)
{/dede:arclist} Xfb迪尔课堂自学网-|第二课堂|--(官网)
Xfb迪尔课堂自学网-|第二课堂|--(官网)
可以根据列表中每一条记录的不同id来获取另外一个表中某条记录的内容。

扫一扫手机访问