用DedeCMS開發(fā)裝修網(wǎng)站的時候,需要設(shè)計師和設(shè)計作品關(guān)聯(lián)。發(fā)布文章(作品)時,一部分內(nèi)容在主表dede_addonarticle,另一部分(自定義字段)在附加表dede_archives。提供兩種實現(xiàn)方法:①根據(jù)發(fā)布人調(diào)用相關(guān)文章;②判斷頻道模型附加表自定義字段的值是否相同,調(diào)用主表相關(guān)文章。
思路:
判斷附表中的某個自定義段來調(diào)用主表中的內(nèi)容,文章的ID和附加表的AID是一一對應(yīng)的。
詳細(xì)步驟:
①核心 -> 內(nèi)容模型管理 -> 普通文章 -> 字段管理 -> 添加新字段(designer);

②模板用sql標(biāo)簽調(diào)用
{dede:sql sql="SELECT * FROM dede_archives JOIN dede_addonarticle ON dede_addonarticle.aid = dede_archives.id where dede_addonarticle.designer=~designer~ ORDER BY id desc limit 9999"}<p>[field:designer/]的其他作品:</p><a href='[field:arcurl/]' target="_blank"> <img src="[field:litpic/]" width="100" height="100" alt="[field:title/]"/></a><p class="pr"> <h4><a href='[field:arcurl/]' target="_blank">[field:title/]</a></h4> <p>[field:description/]</p></p>{/dede:sql}說明:該sql語句橙色部分根據(jù)自己的實際情況修改,dede_archives 是文章主表,dede_addonarticle是附加表,紅色designer是自定義字段。
這是網(wǎng)上介紹的,但是一旦作者改變了,關(guān)聯(lián)就失效了。設(shè)計師對應(yīng)模板里面中:
用sql調(diào)用:
{dede:sql sql="Select * From dede_addonarticle where writer = ~writer~"} <p><a href="[field:arcurl/]">[field:title/]</a><span>[field:writer/]<span></p>{/dede:sql}用arclist或list標(biāo)簽調(diào)用:
{dede:arclist writer=~writer~ } <p><a href="[field:arcurl/]">[field:title/]</a><span>[field:writer/]<span></p>{/dede:arclist}說明:writer=~writer~和writer=this效果一樣。
這個方法關(guān)聯(lián)比較麻煩:發(fā)布設(shè)計師的時候關(guān)鍵詞要填寫該設(shè)計師名稱,發(fā)布作品的時候關(guān)鍵詞也要填寫對應(yīng)設(shè)計師,作品需要調(diào)用作者時還得填寫自定義字段。
這樣在用likearticle標(biāo)簽調(diào)用相似文章,設(shè)計師、作品都會出現(xiàn),可以設(shè)置指定的mytypeid(不是typeid)進(jìn)行控制相似標(biāo)簽,多個欄目用英文“,”逗號隔開:
{dede:likearticle mytypeid='1,2,3'}<p><a href="[field:arcurl/]">[field:title/]</a></p>{/dede:likearticle}likeartcle全局調(diào)用相似文章支持order by參考文章《DedeCMS標(biāo)簽likearticle調(diào)用全站相關(guān)文章支持排序》
新聞熱點
疑難解答
圖片精選