求问大神,dedecms网站首页像这样调取栏目文章,调用最新的,

求问大神,dedecms网站首页像这样调取栏目文章,调用最新的,,第1张

方法一:你可以分三次调用,一次调用六个,然后加上虚线,然后再从第七个开始调用,在调用6个,再加虚线,最后再调用一次。就刚好。dedecms可以实现从第几个调用到几个的具体代码百度

方法二:加判断,遍历是对6取余,如果等于0加虚线,否则不加。

如果可以的话建议定义一个自由列表,然后通过自由列表中的高级筛选下关键词来匹配关键词,这样不需要修改源码,对初学着比较方便,自由列表建立的位置在:后台>核心> 频道模型>自由列表管理>增加列表

织梦者wwwzhimengzhecom 为您解答,望采纳,谢谢!

{dede:arclist orderby='pubdate' titlelen='20'  typeid='' limit='0,3'} 

  <li>·<img src="[field:litpic/]"><a href="[field:arcurl/]" title="[field:title/]">[field:title/][field:title function="cn_substr(@me,20)"/]</a></li>

{/dede:arclist}

主要是写好typeid就是栏目的ID,就是[field:litpic/],将你要循环的,放到{dede:arclist orderby='pubdate' titlelen='20'  typeid='' limit='0,3'} 就可以了,我也是做医疗这块的网站的

你好,根据你的问题找到的相关对应的解决方法。希望能够帮助到你。

问题症状:V57登录后台后,发布英文标题没问题,发布中文会提示“标题不能为空”。

问题根源:PHP版本升级为PHP54之后,htmlspecialchars在php54默认为utf8编码,gbk编码字符串经 htmlspecialchars 转义后的中文字符串为空,也就是标题为空。

解决办法:给htmlspecialchars添加ENT_COMPAT ,'GB2312'参数修改编码默认值。

具体修改页面:

1、dede/article_addphp 和 dede/article_editphp

将 $title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen));

改成

$title = htmlspecialchars(cn_substrR($title,$cfg_title_maxlen),ENT_COMPAT ,'GB2312');

2、include/ckeditor/ckeditor_php5php 138行

将htmlspecialchars($value)替换为htmlspecialchars($value, ENT_COMPAT ,'GB2312')

测试,发布文章成功。

通常dedecms列表和内容页可以利用系统内置标签[field:description/]来调用,但有时候后台文章摘要需要其它用处,那么这个时候需要调用部分文章正文内容做为摘要显示

步骤和方法

本操作需要用户对DedeCMS系统有较高的了解,如果您感觉自己不太掌握,可以考虑选择官方安全相关服务

步骤和方法

进入后台 核心 -> 频道模型 -> 内容模型管理 -> 普通文章 -> 更改

调用代码:

{dede:list pagesize='10'}

[field:body/]

[field:title/]

{/dede:list}

将内容转化为文字格式并截取字符串[field:body function='cn_substr(html2text(@me),600)'/]

参考dedecms的帮助文档中的arclist标签

标签名称:arclist

标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。

功能说明:获取指定文档列表

适用范围:全局使用

基本语法:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

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

{/dede:arclist}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性可以通过多种方式进行多行显示

如果col='1'要多列显示的可用div+css实现

以下为通过div+css实现多列的示例:

<style type=text/css>

div{width:400px;float:left;}

</style>

{dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}

•[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>

{/dede:arclist}

当col>1将使用原来的table多列方式显示

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;

getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类

titlelen = '30' 标题长度 等同于titlelength

infolen='160' 表示内容简介长度 等同于infolength

imgwidth='120' 缩略图宽度

imgheight='90' 缩略图高度

listtype='all' 栏目类型 image含有缩略图 commend推荐

orderby='sortrank' 文档排序方式

§ orderby='hot' 或 orderby='click' 表示按点击数排列

§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列

§ orderby='near'

§ orderby=='lastpost' 按最后评论时间

§ orderby=='scores' 按得分排序

§ orderby='id' 按文章ID排序

§ orderby='rand' 随机获得指定条件的文档列表

keyword='' 含有指定关键字的文档列表,多个关键字用","分

innertext = '' 单条记录样式

aid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid 频道ID

limit='起始ID,记录数' (起始ID从0开始)表示限定的记录范围(如:limit='1,2' 表示从ID为1的记录开始,取2条记录)

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]

noflag = '' 同flag,但这里是表示不包含这些属性

orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

subday='天数' 表示在多少天以内的文档

用arclist调用于附加表字段的方法:

要获取附加表内容,必须符合两个条件

1、指定 channelid 属性

2、指定要获得的字段 addfields='字段1,字段'

如:

{dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}

[field:textlink /] - [field:softtype /]<br />

{/dede:arclist}

底层模板字段:

ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,

source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,

description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,

stime(pubdate 的"0000-00-00"格式)

其中:

textlink = <a href='arcurl'>title</a>

typelink = <a href='typeurl'>typename</a>

imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>

image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>

字段调用方法:[field:varname/]

如:

{dede:arclist infolen='100'}

[field:textlink/]

<br>

[field:infos/]

<br>

{/dede:arclist}

注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。

如: 给当天发布的内容加上 (new) 标志

[field:senddate runphp='yes']

$ntime = time();

$oneday = 3600 24;

if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";

else @me = "";

[/field:senddate]

本文实例讲述了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建站有所帮助。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 求问大神,dedecms网站首页像这样调取栏目文章,调用最新的,

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情