我们在做网站的时候,尤其是做企业站的时候,需要将栏目内容调用到首页显示,比如网站简介、联系我们等等。



相信大家通过常规的方式,包括查阅织梦官方论坛的资料,都找不到比较合适的答案。今天我们织梦技术研究中心就给大家提供两种方式进行调用。

 

我们知道,单页内容的模板调用标签是{dede:field.content/} ,经过试验,在首页使用下面的标签就可以顺利调用出数据。


 

{dede:channelartlist } {dede:field.content/} {/dede:channelartlist }

 


但是我们发现,这种调用只能用于只有一个单页的情况,如果两个或者两个以上单页,该调用会将所有的单页内容堆叠显示出来。即使加type的ID进行限定也没有什么作用。



其实,我们还可以使用SQL进行调用,这样以来灵活性大大提高了,可以调用任意一个ID的content内容了。具体调用代码如下:
 

 

{dede:sql sql='Select content from dede_arctype where id=1'} [field:content/] {/dede:sql}

 


想调用那个栏目,只需要修改栏目的ID就可以了,注意上面的dede_部分改为你的数据库前缀。



dedecms首页调用单页的内容的sql标签如下:


 

{dede:sql sql="SELECT aid,typeid,body FROM `dede_addonarticle` where typeid=2 ORDER BY `aid` DESC LIMIT 0 , 1"} [field:body /] {/dede:sql}

 

说明:其中typeid=2,栏目ID号,表示调用此ID栏目内的文章,换成aid=1则表示调用的aid为1的文章(具体哪篇文章aid是多少,要进数据库看,从后台看也可以),DESC表示排序,按从大到小排,换成ASC则按从小到大排序,LIMIT 0 , 1表示调用数量,也可以写成数量LIMIT 1,这个1代表调用的数量,注意上面红色的部分改为你的数据库前缀。



需要在首页加入栏目做成单页的内容,在论坛找了好多,没看到解决方法,自己试了一下,发现用很简单的代码就可以解决了。



在首页任何位置加入下列代码就成!


 

{dede:channelartlist type="1"} {dede:field.content/} {/dede:channelartlist}

 

type值改成自己需要提出内容栏目的id值。



注意,上面的这段代码只适用于单个单页有内容的情况下,如果有一个以上的单页有内容,上面的代码会把所有栏目的content里的内容都显示出来。



用sql代码则是万能的:


 

{dede:sql sql='Select content from dede_arctype where id=1'} [field:content/] {/dede:sql}

 


想调用哪个栏目就修改为哪个栏目的id就行,注意上面红色的部分改为你的数据库前缀。