• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    DedeCMS附加表自定义字段关联主表文章
    POST TIME:2021-05-23 01:46

    用DedeCMS开发装修网站的时候,需要设计师和设计作品关联。发布文章(作品)时,一部分内容在主表dede_addonarticle,另一部分(自定义字段)在附加表dede_archives。提供两种实现方法:①根据发布人调用相关文章;②判断频道模型附加表自定义字段的值是否相同,调用主表相关文章。

    用附加表自定义字段进行关联(推荐)

    思路:

           判断附表中的某个自定义段来调用主表中的内容,文章的ID和附加表的AID是一一对应的。

    详细步骤:

    ①核心 -> 内容模型管理 -> 普通文章 -> 字段管理 -> 添加新字段(designer);

    ②模板用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>
    <p class="pr">
     <h4><a href='[field:arcurl/]' target="_blank">[field:title/]</a></h4>
     <p>[field:description/]</p>
    </p>
    {/dede:sql}

           说明:该sql语句橙色部分根据自己的实际情况修改,dede_archives 是文章主表,dede_addonarticle是附加表,红色designer是自定义字段。

    用文章发布者进行关联

           这是网上介绍的,但是一旦作者改变了,关联就失效了。设计师对应模板里面中:

    用sql调用:

    {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标签调用:

    {dede:arclist writer=~writer~ }
     <p><a href="[field:arcurl/]">[field:title/]</a><span>[field:writer/]<span></p>
    {/dede:arclist}

           说明:writer=~writer~和writer=this效果一样。

    用文章关键词关联文章

           这个方法关联比较麻烦:发布设计师的时候关键词要填写该设计师名称,发布作品的时候关键词也要填写对应设计师,作品需要调用作者时还得填写自定义字段。

           这样在用likearticle标签调用相似文章,设计师、作品都会出现,可以设置指定的mytypeid(不是typeid)进行控制相似标签,多个栏目用英文“,”逗号隔开:

    {dede:likearticle mytypeid='1,2,3'}
    <p><a href="[field:arcurl/]">[field:title/]</a></p>
    {/dede:likearticle}

           likeartcle全局调用相似文章支持order by参考文章《DedeCMS标签likearticle调用全站相关文章支持排序》

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!