DEDECMS文章内容页如何动态调用

DEDECMS文章内容页如何动态调用,第1张

本文实例讲述了dedecms列表页调用文章正文内容的方法。分享给大家供大家参考。具体分析如下:

一般来说,在列表页面要获取文章内容简单描述的话我们可以直接使用description标签就可以了,但是如果要有很多估计我们需要进行一些简单的修改。

在制作织梦模板的时候,有的时候我们需要调用文章部分内容,用[field:description/]标签字数不够多(数据库设计字段是varchar(255)的),另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文内容了

实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的

以下是织梦DedeCMS列表页调用文章正文的第一种方法,代码如下:

复制代码

代码如下:

{dede:arclist flag='h' row='10′}

<h1><a

href='[field:arcurl/]'>[field:title/]</a></h1>

<p>[field:id runphp='yes'] $aid = @me; $row =

$GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where

aid='$aid' "); @me =

cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a

href='[field:arcurl/]'>阅读详细</a></p>

{/dede:arclist}

代码中的数字400是用来设置需要调用多少内容的,因为调用的是body里面的内容,如果有里面包含代码的话也会被调用出来,这点比较不好,不过可以使用html2tex()函数解决一下

第二种方法则是利用了织梦可以自定义模型内容数据,并调用的原理,把文章模板的body字段看做在自定义的,调用的代码如下:

复制代码

代码如下:

{dede:arclist row='10' addfields='body'

channelid='1'}

<p> [field:body

function='cn_substr(html2text(@me),600)'/]</p>

<span

class="more">

<a href=" [field:arcurl/]" style="text-decoration:none;

color:#990000;"& gt; [详 情]

</a>

</span>

{/dede:arclist}

以下是这种方法的详细说明:

1addrields=”字段一,字段二…”

2idlist:文章编号,调用指定内容

3function=’cn_substr(html2text(@me),600)’ 将文章内容转化为文字格式

4channelid,模型编号,文章默认为1,查看位置:后台–核心–内容模型管理

两种方法各有优劣,第一种方法比较繁琐,不是那么容易看懂,还是比较推荐采用第二种方法实现织梦DedeCMS列表页调用文章正文的功能的

谁说dede:list 标签不能调用body内容,现在就告诉你,直接就可以调用

第一步,打开后台 核心-->频道模型-->内容模型管理-->普通文章,在列表附加字段中添加body

第二步,在dede:list语句中指定addfields='body',然后直接用[field:body/]调用全部内容

实例代码如下:

复制代码

代码如下:

{dede:list pagesize='18' addfields='body'}

<li>

<p>[field:body/]</p>

<p><a

href="[field:arcurl/]"

title="[field:title/]">[field:title/]</a></p>

</li>

{/dede:list}

另外,如果像摘要一样调用可以用,代码如下:

复制代码

代码如下:

[field:body

function='cn_substr(html2text(@me),200)'/]

替代:

复制代码

代码如下:

[field:description

/]

调出文章前200个字符内容,经过这两步,可以彻底关掉系统默认的文章摘要功能,最后还有就是官方的一个[field:description/]字段了,这个如果对于要求几十个字的完全可以了,但是如果太多字此字段就无效了

希望本文所述对大家的dedecms建站有所帮助。

比如我们在首页需要调用指定栏目ID为6的栏目下的文章,而该栏目下有一个ID为12的子栏目,通常我们在首页的调用代码如下:

<ul>

{dede:arclist typeid='8' row='10' col='1' orderby='hot'}

<li><a href='[field:arcurl/]'>[field:shorttitle/]</a></li>

{/dede:arclist}

</ul>

但是调用后,此栏目下的ID为12的子栏目里面的内容也会出现在列表里,如果不想要子栏目的内容出现在列表里很简单,这个在后台就有设置,具体设置如下:

登录织梦管理后台,在“系统基本参数”——“性能选项”——“上级列表是否包含子类内容:”这个选项选择“否”就行了。

当然这个是有前提的,这个只能说是调用列表页,如果你调用的栏目是封面页,那么肯定会取子栏目的数据,如果你调用的是列表页,那么肯定是可以的。

DedeCMS(织梦内容管理系统)是织梦团队开发的一套网站管理系统(CMS)。

这个系统把一个网站的内容(文字,,等等)与网站的组件分离开来,可以将各个页面连接到一起,可以控制页面的显示。通过这个系统,可以方便的管理,发布,维护网站的内容,而不再需要硬性的写HTML代码或手工建立每一个页面。

我觉得你这个问题有点BC

第一,如果你的文章是手动添加而不是采集的话,你在发表文章的时候可以顺便添加一个“推荐”(flag='c')的属性,然后在“系统”——“系统基本参数”——“性能选项 ”里面这们设置:(如图)

然后你在调用文章{dede:arclist:typeid='1' row='10' (等等)}的时候加上这个 flag='c', 这样做的效果是,你一发表完文章了,系统就会马上自动更新所有相关的栏目和内容页,这样就达到了“动态更新”的效果了,没必要另外去搞……

第二,如果你的是搞论坛或者社区之类的,那没就必要用织梦了。还不如用Dicuz!或者其它的专门做论坛用的CMS了……

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DEDECMS文章内容页如何动态调用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情