dedecms二次開(kāi)發(fā)時(shí)使用{dede:arclist},{dede:list}獲取附加表字段內(nèi)容

字號(hào):


    以前用織夢(mèng)DEDECMS做二次開(kāi)發(fā)時(shí)獲取附加表字段內(nèi)容都是通過(guò)runphp執(zhí)行SQL查詢(xún)獲得,最近看了看手冊(cè),發(fā)現(xiàn)一個(gè)非常簡(jiǎn)便的方法。
    用arclist調(diào)用于附加表字段的方法:
    方法一:
    要獲取附加表內(nèi)容,必須符合兩個(gè)條件
    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’是附加表中的兩個(gè)字段。除指定的附加表字段外,其它底層字段如arcurl,title,infos等均能正常調(diào)用。
    同樣,dede:list標(biāo)簽也可調(diào)取附加表字段,和arclist不同的是不用指定channelid,因?yàn)橄到y(tǒng)能自動(dòng)判斷。
    調(diào)用格式如下:
    {dede:list addfields=’video_description,video_id’ pagesize=’8′}
    [field:video_description /] – [field:video_id /]
    {/dede:list}
    注意:取出的是附加表中所有記錄的相應(yīng)字段。
    方法二:
    DedeCms在dede:arclist標(biāo)簽如何調(diào)用附加表內(nèi)容(其他標(biāo)簽一樣適用)
    代碼如下:
    {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}
    可以根據(jù)列表中每一條記錄的不同id來(lái)獲取另外一個(gè)表中某條記錄的內(nèi)容。