原文来自:https://www.zixuephp.com

DedeCMS首页如何调用栏目内容和单页内容

常用的需要调到首页来的单页内容,比如企业简介、联系我们等等内容,我们在首页可能都要进行体现,通过常规的方式,包括查阅dede官方论坛资料,都找不到比较合适的答案,今天我们就提供两种方式进行调用.

我们知道,单页内容的模板调用标签是 {dede:field.content/},经过试验,在首页使用:

  1. {dede:channelartlist}
  2. {dede:field.content/}
  3. {/dede:channelartlist}

进行调用,即可顺利的调出相关的数据.

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

我们还可以使用SQL进行调用,这样以来灵活性大大提高了,可以调用任意一个ID的content内容了.

  1. {dede:sqlsql='Selectcontentfromdede_arctypewhereid=1'}
  2.   [field:content/]
  3. {/dede:sql}

想调用那个栏目,只需要修改栏目的ID 就可以了.

dede站怎么在首页调用单页的内容?

  1. {dede:sqlsql="SELECTaid,typeid,bodyFROM`dede_addonarticle`wheretypeid=2ORDERBY`aid`DESCLIMIT0,1"}
  2. [field:body/]
  3. {/dede:sql}

说明:其中typeid=2,栏目ID号,表示调用此ID栏目内的文章,换成aid=1则表示调用的aid为1的文章,具体哪篇文章aid是多少,要进数据库看,从后台看也可以,DESC表示排序,按从大到小排,换成ASC则按从小到大排序,LIMIT 0,1表示调用数量,也可以写成数量LIMIT 1,这个1代表调用的数量.

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

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

  1. {dede:channelartlisttype="1"}
  2. {dede:field.content/}
  3. {/dede:channelartlist}

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

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

用sql代码则是万能的:

  1. {dede:sqlsql='Selectcontentfromdede_arctypewhereid=1'}
  2. [field:content/]
  3. {/dede:sql}