织梦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建站有所帮助。

Dedecms的标签调用的是有区域限制的,一些标签只能在文章页和首页以及频道页才能调用,但是单页面也想调用“最新文章”等一些文章列表,如果是用{dede:arclist} {dede:arclist /}这些标签肯定是调用不了的,哪要怎么办呢这个不用怕,这个问题dedecms早就想到了,在dedecms中有个“宏标签”功能,用这个功能可以实现全站调用。

  宏标签的设置:

  打开dedecms后台——>模板-->自定义宏标签-->智能标志向导

  1 选择一个你要的列表样式

  2 设置“调用栏目”,这里不用说了,就是想要调用的栏目。

  3 设置调用显示列表的文章条数,显示列数,标题长度,不过不设置也没事,回头想改还可以更改的。

  4 提取特定文档,如果你有需要调用特定的文章就要选择一下,如果么有,就不用选择。

  5 单条记录样式,这个有点重要,现在文章列表很多都是用<li></li>标签来做的,但是这里默认不是,如果你要在调用的时候适合你的页面,你需要自己修改一下,怎么修改

  这里示范一下,

  默认的标签:

  修改为<li></li>标签对的:

  还有很多功能,自己看支持字段。

  6“生成模版调用标记”

  7保存为自定义标记,这个很重要,一定要保存才可以了。要不下一步就么有内容可以做。

  8回到模板-->自定义宏标记 ,可以看到刚才保存的宏标记,如果不保存,这里是没有的。

  9点击“js调用”进行js调用代码提取

  10将刚才复制的那段js代码粘贴到你要的地方即可

  宏标签调用到此完成。

方法和详细的操作步骤如下:

1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。

使用dedecms系统制作我的个人博客的过程中,为了让搜索引擎把新加的文章尽快的收录,我在每一个详细内容里都调用了全部的最新文章,具体方法如下:

{dede:arclist row=’条数’ typeid=’all’ orderby=’pubdate’}

<li><a

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

{/dede:arclist}

如果你要调用全站的推荐文章,方法如下

{dede:arclist row=’条数’

typeid=’all’ flag='c' orderby=’pubdate’}

<li><a

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

{/dede:arclist}

织梦云模板为您解答:

实现这种效果其实很简单,你只需运用dede的autoindex这个标签即可。

比如下面的autoindex标签,是五行输出一个<hr/>,按照这个做即可。更多织梦模板和织梦教程欢迎访问织梦云模板官网。

[field:global name=autoindex runphp="yes"]

if(@me%5==0)@me="<hr />";

else @me="";

[/field:global]

修改文件/include/arcarchivesclass

将以下代码

       $next = (is_array($nextR)  " where arcid={$nextR['id']} " : ' where 1>2 ');

       $pre = (is_array($preR)  " where arcid={$preR['id']} " : ' where 1>2 ');       

       $query = "Select arcid,arctitle,arcshorttitle,arctypeid,arcismake,arcsenddate,arcarcrank,arcmoney,arcfilename,arclitpic,

               ttypedir,ttypename,tnamerule,tnamerule2,tispart,tmoresite,tsiteurl,tsitepath

               from `#@__archives` arc left join #@__arctype t on arctypeid=tid  ";

改为如下

            if($this->ChannelUnit->ChannelInfos[‘issystem‘]!=-1){                

               $next = (is_array($nextR)  " where arcid={$nextR[‘id‘]} " : ‘ where 1>2 ‘);      

               $pre = (is_array($preR)  " where arcid={$preR[‘id‘]} " : ‘ where 1>2 ‘);    

               $query = "Select arcid,arctitle,arcshorttitle,arctypeid,arcismake,arcsenddate,arcarcrank,arcmoney,arcfilename,arclitpic,

                     ttypedir,ttypename,tnamerule,tnamerule2,tispart,tmoresite,tsiteurl,tsitepath

                     from `#@__archives` arc left join #@__arctype t on arctypeid=tid  ";

            }else{              

               $next = (is_array($nextR)  " where arcaid={$nextR[‘id‘]} " : ‘ where 1>2 ‘);                

               $pre = (is_array($preR)  " where arcaid={$preR[‘id‘]} " : ‘ where 1>2 ‘);                

               $query = "Select arcaid,arctitle,arctypeid,arcsenddate,arcarcrank,arclitpic, 

                              ttypedir,ttypename,tnamerule,tnamerule2,tispart,tmoresite,tsiteurl,tsitepath

                     from `"$this->ChannelUnit->ChannelInfos[‘addtable‘]"` arc left join #@__arctype t on arctypeid=tid  ";

            }

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 织梦dedecms如何调用当前栏目的文章列表?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情