请教大家一个关于dede列表页 按关键词调用文章的问题

请教大家一个关于dede列表页 按关键词调用文章的问题,第1张

参考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]

我来专业的回答吧,您这模板是dede350com也有看到,问题也处理过。

问题说明:

首页模板用的是{dede:freelist/}标签调用数据。ps:({dede:freelist/}标签是自由列表标签核心->频道模板->自由列表管理)。

问题解决:

更新首页的时候就能看到。

复制:/www/wwwroot//index_1html 为 indexhtml作为首页就可以了!

希望采纳!谢谢大家。

用Dedecms中的arclist标签也是可以在列表页调用文章内容的,虽然在官方的标签说明中,arclist标签的底层标签中不包含body。调用的Html格式如下:

{dede:arclist typeid='' titlelen='' limit='' orderby='' addfields='body' channelid='1'}

[field:body/]

{/dede:arclist}

重点就是addfields='body' channelid='1'这部分,意思为调用ID为1的内容模型中的附加字段body。因此除了在列表页中加入上述代码外,还需要进入Dedecms后台--核心--频道模型--内容模型管理--普通文章,点击进入后,在“列表附加字段”这个项目中添加字段:body,这样就可以了。

看源码,dedecms实现点击增加是通过一个js脚本调用一个php方法,php方法返回点击数赋值到指定的位置。

源码有2种方式,一种是看了就+1,一种是只看不加,你看看调用的方法是不是有问题,看脚本的参数。

或者你发出来,我帮你看看。

如果你直接用dede的arclist循环调用某个栏目的列表,那么第一条与第二条必定样式相同,如果你真想实现同一列表2个样式,那就得分开做,如:

{dede:arclist row='1' orderby='pubdate' orderway='desc' ……其他参数,确保排序相同}

第一条信息………………

{/dede:arclist}

{dede:arclist row='X' orderby='pubdate' orderway='desc' limit='1,X' ……其他参数,X为第二个列的数量}

第二条以后的信息………………

第二条以后的信息………………

第二条以后的信息………………

X次

{/dede:arclist}

用ajax读取下一页内容,然后显示到当前页面

在模板页面</head>之前加以下内容

<script type="text/javascript" src="{dede:globalcfg_cmsurl/}/include/dedeajax2js"></script>

<script language="javascript" type="text/javascript">

function multi(pagenum,tagid)

{

  var taget_obj = documentgetElementById(tagid);

  var taget_obj_page = documentgetElementById("page_"+tagid);

  myajax = new DedeAjax(taget_obj,false,false,'','','');

  myajaxSendGet2("/plus/arcmultiphpmtype=0&pnum="+pagenum+'&tagid='+tagid);

  myajax = new DedeAjax(taget_obj_page,false,false,'','','');

  myajaxSendGet2("/plus/arcmultiphpmtype=1&pnum="+pagenum+'&tagid='+tagid);

  DedeXHTTP = null;

      return false;

}

</script>

在模板页面 列表代码

    {dede:arclist typeid="1,2,3" tagid='anynews' pagesize='30' row='10000'}

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

    <span class='preview'><img src='[field:litpic/]' alt="[field:title/]"/></span><span class="title">[field:title/]</span>

    </a></li>

    {/dede:arclist}

在模板页面列表容器之后加分页代码

  <div class="dede_pages">

   <ul class="pagelist">

{dede:arcpagelist tagid='anynews'/}

   </ul>

  </div>

修改完保存即可。用此办法可以在当前页不刷新显示下一页内容。如果希望点击下一页后新显示的内容添加到旧内容后面,那么需要修改/include/dedeajax2js文件104行

    DedeContainerinnerHTML = DedeXHTTPresponseText;

改成

    DedeContainerinnerHTML += DedeXHTTPresponseText;

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请教大家一个关于dede列表页 按关键词调用文章的问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情