用織夢開發(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)文章。
用附加表自定義字段進行關(guān)聯(lián)(推薦)
思路:
判斷附表中的某個自定義段來調(diào)用主表中的內(nèi)容,文章的ID和附加表的AID是一一對應(yīng)的。
詳細步驟:
①核心 -> 內(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>
<div class="pr">
<h4><a href='[field:arcurl/]' target="_blank">[field:title/]</a></h4>
<p>[field:description/]</p>
</div>
{/dede:sql}
用文章發(fā)布者進行關(guān)聯(lián) 說明:該sql語句橙色部分根據(jù)自己的實際情況修改,dede_archives 是文章主表,dede_addonarticle是附加表,紅色designer是自定義字段。
這是網(wǎng)上介紹的,但是一旦作者改變了,關(guān)聯(lián)就失效了。設(shè)計師對應(yīng)模板里面中:
用sql調(diào)用:
1
{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}
{dede:arclist writer=~writer~ }
<p><a href="[field:arcurl/]">[field:title/]</a><span>[field:writer/]<span></p>
{/dede:arclist}
用arclist或list標(biāo)簽調(diào)用:
說明:writer=~writer~和writer=this效果一樣。
用文章關(guān)鍵詞關(guān)聯(lián)文章
這個方法關(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)進行控制相似標(biāo)簽,多個欄目用英文“,”逗號隔開:
{dede:likearticle mytypeid='1,2,3'}
<p><a href="[field:arcurl/]">[field:title/]</a></p>
{/dede:likearticle}