织梦系统中,分类信息模型属于独立单表模型的,他的调用标签为ArcListsg 标签,而使用系统内置的Arclistsg 标签是无法调用信息的发布人的!也就是说没有[field:信息发布人/] 这样的字段可供选择。
织梦系统提供了强大的SQL标签供高级用户使用,他的基本格式为:
- {dede:sql sql=“完整的SQL查询语句”}
- 底层模板,用于输出[field:字段名/]<!–字段名取值范围为查询结果的所有字段–>
- {/dede:sql}
我们了解了上面的这种方式以后,那么我们就可以使用SQL语句来调用分类信息模型了。一个简单的例子:
-
{dede:sql sql=“select * FROM #@__addoninfos limit 0,10”}
- 信息标题:[field:title/]
- {/dede:sql}
上面的这种基本调用就是调用了信息发布的最新10条信息。这里的* 号就可以取值到信息发布者的会员id号,他的字段是mid,那么我们就可以在底层模板中通过 [field:mid/] 来进行输出了。但是这里我们只输出这个id号,无法取得他的会员名及昵称啊?怎么办呢?
这里我们就可以想到利用left join 来进行匹配了,因为他既然能够获取他的会员id号,那么这个值他是与织梦的会员表是相互关联的,通过这个值我们可以关联到织梦会员表来获取更加详细的会员资料。比如:
Select a.*,m.* FROM #@__addoninfos a left join #@__member m on a.mid = m.mid
这里利用left join 来进行匹配,让他们两边的ID号码相等,就可以了。所以我们调用分类信息发布者到首页的具体代码就为:
- {dede:sql sql=“Select a.*,m.* FROM #@__addoninfos a left join #@__member m on a.mid = m.mid limit 0 2”}
- [field:字段名/]<!–这里的字段名的取值就可以为addoninfos与member两个表的所有字段了–>
- {/dede:sql}
当然,这里提供的仅仅是一个思路!比如,后面的限制调用的栏目,只需要在 a.mid = m.mid 后面加上一个where a.typeid = 栏目id 来进行表示,如果你的栏目为多个,还可以使用 where a.typeid IN(栏目1,栏目2….栏目N)等等。