用織夢模板開發裝修網站的時候,需要設計師和設計作品關聯。發布文章(作品)時,一部分內容在主表dede_addonarticle,另一部分(自定義字段)在附加表dede_archives。提供兩種實現方法:①根據發布人調用相關文章;②判斷頻道模型附加表自定義字段的值是否相同,調用主表相關文章。
用附加表自定義字段進行關聯(推薦)
思路:
判斷附表中的某個自定義段來調用主表中的內容,文章的ID和附加表的AID是一一對應的。
詳細步驟:
①核心 -> 內容模型管理 -> 普通文章 -> 字段管理 -> 添加新字段(designer);
頻道模型增加自定義字段
.jpg)
.jpg)
②模板用sql標簽調用
{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}
用文章發布者進行關聯 說明:該sql語句橙色部分根據自己的實際情況修改,dede_archives 是文章主表,dede_addonarticle是附加表,紅色designer是自定義字段。
這是網上介紹的,但是一旦作者改變了,關聯就失效了。設計師對應模板里面中:
用sql調用:
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標簽調用:
說明:writer=~writer~和writer=this效果一樣。
用文章關鍵詞關聯文章
這個方法關聯比較麻煩:發布設計師的時候關鍵詞要填寫該設計師名稱,發布作品的時候關鍵詞也要填寫對應設計師,作品需要調用作者時還得填寫自定義字段。
這樣在用likearticle標簽調用相似文章,設計師、作品都會出現,可以設置指定的mytypeid(不是typeid)進行控制相似標簽,多個欄目用英文“,”逗號隔開:
{dede:likearticle mytypeid='1,2,3'}
<p><a href="[field:arcurl/]">[field:title/]</a></p>
{/dede:likearticle}