dedecms列表页如何调用指定文章内容

技术宅 武陆柒 0评论

这一个问题困扰了一下午,弄了半天想要的效果还是没有实现,百度、google半天,就差知乎什么的了。

搜索引擎查找出来的结果也不一定是正确的,搜索出来的内容还得你细细琢磨才能参透。 

由于dede自身系统的问题,没有设置在《dedecms列表页如何调用指定文章内容》:

这个是我测试后调试后好的语句:
 

{dede:sql sql="SELECT aid,typeid,body FROM `dede_addonarticle` where typeid=6"} [field:body /] {/dede:sql}



说明:基本的select语句不用说了,其中typeid=6,栏目ID号,dede_addonarticle 是dede后台添加文章的数据库的表名,[field:body/] 是要调用出来的正文内容,经过测试在文章列表页面可以正常显示。
 


以下是我从网上搜索出来的其他结果:
 

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

我们知道,单页内容的模板调用标签是 {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站怎么在首页调用单页的内容?

{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值改成自己需要提出内容栏目的值。
更正,以上代码只适用于单个单页有内容的情况下,
如果有一个以上的单页有内容,上面的代码会把所有栏目的content里的内容都显示出来。

用sql代码则是万能的: 

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


想调用哪个栏目就修改为该栏目的id。



来源:武陆柒博客 ,转载请注明出处!
本文地址:http://www.wusimin.cn/article/5.html

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

  • 昵 称 *
  • 邮 箱 *
  • 网 址

分享:

支付宝

微信