zoukankan      html  css  js  c++  java
  • 织梦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′}
    [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来获取另外一个表中某条记录的内容。。。

    有的朋友可能发现上面的这个方法只能对V5.6版本有效,我费了一些功夫,找到了适用于V5.7版本的方法:

    {dede:arclist row='1'  titlelen='30'}
        [field:id runphp="yes"] 
            $row = $GLOBALS['dsql']->GetOne("Select body From `dede_addonarticle` where aid=@me"); 
            @me = $row['body'];
        [/field:id]
    {/dede:arclist}


     

  • 相关阅读:
    编码 unicode与utf8
    For WeiWei Server Code
    C#枚举
    一些关于java的笔记
    当众讲话第三章当众讲话的语言要求
    当众讲话第四章当众讲话出彩的资本
    会计要素和会计平衡公式
    当众讲话第一章 当众讲话的八项训练
    金蝶KIS标准版会计软件简单使用
    做事的科学细节与流程》读书笔记第一章
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061604.html
Copyright © 2011-2022 走看看