muban大师 发表于 2021-5-23 10:31:42

织梦模板DEDECMS附加表自定义字段关联主表文章

用织梦模板开发装修网站的时候,需要设计师和设计作品关联。发布文章(作品)时,一部分内容在主表dede_addonarticle,另一部分(自定义字段)在附加表dede_archives。提供两种实现方法:①根据发布人调用相关文章;②判断频道模型附加表自定义字段的值是否相同,调用主表相关文章。
        用附加表自定义字段进行关联(推荐)
        思路:
        判断附表中的某个自定义段来调用主表中的内容,文章的ID和附加表的AID是一一对应的。
        详细步骤:
        ①核心 -> 内容模型管理 -> 普通文章 -> 字段管理 -> 添加新字段(designer);
        频道模型增加自定义字段
       
       
https://www.adminbuy.cn/uploads/allimg/210523/1-210523103312462.jpg

       
       
                ②模板用sql标签调用
       
               
       
                {dede:sql sql="SELECT * FROM dede_archives JOIN dede_addonarticleON dede_addonarticle.aid = dede_archives.id wheredede_addonarticle.designer=~designer~ORDER BY id desc limit 9999"}
       
                的其他作品:
       
                ,
       
               

       
               
       
               
       
                ,
       
               
       
               
       
                {/dede:sql}
       
                用文章发布者进行关联  说明:该sql语句橙色部分根据自己的实际情况修改,dede_archives 是文章主表,dede_addonarticle是附加表,红色designer是自定义字段。
       
                这是网上介绍的,但是一旦作者改变了,关联就失效了。设计师对应模板里面中:
       
                用sql调用:
       
                1
       
                {dede:sql sql="Select * From dede_addonarticle where writer = ~writer~"}
       
               
       
                {/dede:sql}
       
               
       
                {dede:arclist writer=~writer~ }
       
               
       
                {/dede:arclist}
       
                用arclist或list标签调用:
       
                说明:writer=~writer~和writer=this效果一样。
       
                用文章关键词关联文章
       
                这个方法关联比较麻烦:发布设计师的时候关键词要填写该设计师名称,发布作品的时候关键词也要填写对应设计师,作品需要调用作者时还得填写自定义字段。
       
                这样在用likearticle标签调用相似文章,设计师、作品都会出现,可以设置指定的mytypeid(不是typeid)进行控制相似标签,多个栏目用英文“,”逗号隔开:
       
                {dede:likearticle mytypeid='1,2,3'}
       
               
       
                {/dede:likearticle}
页: [1]
查看完整版本: 织梦模板DEDECMS附加表自定义字段关联主表文章