首先推荐使用附加表自定义字段进行关联的方法,这种方法更为灵活且易于维护。
思路:
通过判断附加表中的某个自定义字段来调用主表中的内容。需要注意的是,文章的ID和附加表的AID是一一对应的。
详细步骤:
① 在核心管理后台,依次点击“核心 -> 内容模型管理 -> 普通文章 -> 字段管理 -> 添加新字段(designer)”。这样可以为频道模型增加一个自定义字段。
// 示例代码:添加新字段
// 字段名称:designer
// 字段类型:文本框
// 字段说明:用于关联设计师与作品
{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"}
[field:designer/]的其他作品:
[field:title/]
[field:description/]
{/dede:sql}
说明:
该SQL语句中的橙色部分需要根据实际情况进行修改。其中,dede_archives是文章主表,dede_addonarticle是附加表,红色的“designer”是自定义字段。
另一种方法是通过文章发布者进行关联。虽然这种方法简单,但一旦作者发生变化,关联就会失效。以下是一个基于文章发布者的SQL调用示例:
{dede:sql sql="Select * From dede_addonarticle where writer = ~writer~"}
[field:title/][field:writer/]
{/dede:sql}
此外,还可以使用arclist或list标签进行调用。例如:
{dede:arclist writer=~writer~ }
[field:title/][field:writer/]
{/dede:arclist}
说明:
writer=~writer~ 和 writer=this 的效果是相同的。
最后,还可以尝试通过文章关键词来关联文章。这种方法虽然稍显复杂,但在某些场景下非常实用。具体做法是在发布设计师信息时,将关键词设置为设计师名称;同时,在发布作品时也填写对应的设计师名称作为关键词。之后可以通过likearticle标签调用相似文章。例如:
{dede:likearticle mytypeid='1,2,3'}
{/dede:likearticle}
通过以上方法,您可以根据实际需求选择最适合的方案来实现设计师与作品之间的关联。无论是使用自定义字段、文章发布者还是关键词,都能有效提升用户体验并增强网站的功能性。