muban大师 发表于 2021-3-29 09:15:24

dedecms教程:二次开发时使用{dede:arclist},{dede:list}

以前用DEDECMS织梦模板做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。
       
        用arclist调用于附加表字段的方法:
       
        方法一:
       
        要获取附加表内容,必须符合两个条件
        1、指定 channelid 属性(注意:channelid不是栏目id,而是自定义模型的id!)
        2、指定要获得的从表字段:addfields=’字段1,字段’
        如:
       
       
               
                       
                               
                                       
{dede:arclist addfields=’video_description,video_id’ row=’8′ channelid=’3′}

{/dede:arclist}
                               
                       
               
       

       
        其中addfields=’video_description,video_id’是附加表中的两个字段。除指定的附加表字段外,其它底层字段如arcurl]title,infos等均能正常调用。
       
        同样,dede:list标签也可调取附加表字段,和arclist不同的是不用指定channelid,因为系统能自动判断。
        调用格式如下:
       
       
               
                       
                               
                                       
{dede:list addfields=’video_description,video_id’ pagesize=’8′}

{/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来获取另外一个表中某条记录的内容。
页: [1]
查看完整版本: dedecms教程:二次开发时使用{dede:arclist},{dede:list}