用dedecms开发医院网站的时候,需要每个项目下面和《相关问题》栏目的的文章关联。发布相关问题文章时,一部分内容在主表dede_addonarticle,另一部分(自定义字段)在附加表dede_addon20。实现方法:判断相关问题频道模型附加表自定义字段的值和项目名字是否相同,调用主表相关问题文章信息。
用附加表自定义字段进行关联(推荐)
思路:
判断附表中的某个自定义段来调用主表中的内容,文章的ID和附加表的AID是一一对应的。
详细步骤:
①核心 -> 内容模型管理 -> 想问问题 -> 字段管理 -> 添加新字段(classname);
②模板用sql标签调用
{dede:sql sql="SELECT * FROM dede_archives JOIN dede_addon20 ON dede_addon20.aid = dede_archives.id where dede_addon20.classname=~title~ ORDER BY id desc limit 5"}
<li><a href="[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]" target="_blank"><i>1</i>:[field:title/]<em>查看详情</em></a></li>
{/dede:sql}
说明:该sql语句dede_addon20 根据自己的实际情况修改,dede_archives 是文章主表,dede_addon20 是附加表,classname是自定义字段。
sql解释:
查询条件:dede_addon20中的classname字段 等于当前 项目标题title
筛选 :dede_addon20的aid等于 主表dede_archives的id的文章
排序:ORDER BY id desc 按照ID排序(倒序)
返回:5条记录
注意:[field:id runphp='yes'] $id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]
请查看另外一篇文章《DEDECMS使用dede的sql标签.............》 http://www.iisya.com/Building/522.html
发表评论