澳门新浦京app下载帝国CMS如何用灵动标签调用副表字段内容?

16、如何在列表模板或标签模板中调用副表字段内容?
列表模板中要调用副表字段内容需要采用list.var支持程序代码。下面以读取新闻副表中的newstext字段为例的list.var模板代码:
$fr=$empire-fetch1(select newstext from
{$dbtbpre}ecms_news_data_{$r[stb]} where id=’$r[id]’);
$listtemp=’a href=[!—titleurl–][!—title–]/a
br副表内容字段:’.$fr[newstext].’brbr’;

15、如何用灵动标签调用副表字段内容?
原理:在灵动标签循环内用SQL读取副表内容。下面以读取新闻副表中的newstext字段为例:
[e:loop={0,1,3,0}] ?php $fr=$empire-fetch1(select newstext from
{$dbtbpre}ecms_news_data_{$bqr[stb]} where id=’$bqr[id]’); ?
标题:?=$bqr[title]?br 副表内容字段:?=$fr[newstext]? [/e:loop]

以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。

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

方法一:

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

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

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

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

方法二:

DedeCms在dede:arclist标签如何调用附加表内容(其他标签一样适用)

复制代码代码如下:
{dede:arclist titlelen=’26’ row=’20’ orderby=’id’}
[field:id runphp=”yes”]
$dsql = new DedeSql(false);
$a=”SELECT * FROM dede_addongame_tg where aid=@me”;
$arcRow = $dsql->GetOne($a);
@me=’url=”‘.$arcRow[sptype].'” leixing=”‘.$arcRow[model];
[/field:id]
{/dede:arclist}

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

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图