点评:我们知道,单页内容的模板调用标签是 {dede:field.content/} ,经过试验,在首页使用,由于这种方法有局限性所以我们还可以使用SQL进行调用,这样以来灵活性大大提高了,而且可以调用任意一个栏目ID的单页内容
代码如下:
{dede:field.content/}
这个标签系统只支持在栏目模板里调用,不支持在内容模板里调用。如果想让内容模板也支持它,其实也很简单。只需在核心目录即 include/ 里的 archives.class.php中加入一行代码就OK了。
如下:$this->Fields['content']=$this->TypeLink->TypeInfos['content']; //第86行加入此代码
如何将已经做成单页的栏目内容调用到首页来。
常用的需要调到首页来的单页内容,比如公司简介、联系我们等内容,我们在首页可能都要进行展现。通过常规的方式,包括查阅dede官方论坛资料,都找不到比较合适的答案。今天我们就提供两种方式进行调用。
一、我们知道,单页内容的模板调用标签是 {dede:field.content/} ,经过试验,在首页使用
代码如下:
{dede:channelartlist }
{dede:field.content/}
{/dede:channelartlist }
进行调用,即可顺利的调出相关的数据。
但是出现问题,这种调用只能用于只有一个单页的情况,如果系统中含有两个或者多个以上的单页,该调用会将所有的单页内容堆叠显示出来。即使加type的ID进行限定也没有什么作用。所以这种方法并不太适合
二、我们还可以使用SQL进行调用,这样以来灵活性大大提高了,而且可以调用任意一个栏目ID的单页内容。
代码如下:
{dede:sql sql='Select content from dede_arctype where id=1'}
[field:content/]
{/dede:sql}
想调用那个栏目,只需要修改栏目的ID 就可以了;但需要注意一点的是"dede_arctype"表名要根据你安装系统时的表名来填,不然也调用不出来
但是有时候我们不需要把一个栏目的所有文字都显示出来,所有需要截取一部分在首页,那么该如何实现呢,看代码,还是用sql,把调用的数据截取。
比如:Select content,substring(content,1,280) as content from dede_arctype where id=1
这句话是说把ID1栏目的内容的1-280个字符截取出来。