dedecms怎么在文章列表页调用文章阅读数和文章关键词?

dedecms怎么在文章列表页调用文章阅读数和文章关键词?,第1张

一篇文章内容分别放在两张表中 ,

一张是他的主表,该主表是通用的 dede_archives ,

另一张是附件表 dede_addonXXX

默认包括:

dede_addonarticle 文章附件表

dede_addonimages 附件表

dede_addoninfos 分类信息附件表

dede_addonshop 商品附件表

dede_addonsoft 软件附件表

dede_addonspec 专题附件表

在制作模板的时候需要调用文章部分内容,用[field:description/]标签的时候发现字数不够多,只能调用文章正文部分的内容了,而列表而也是一样,只能通过[field:description function='cn_substr(@me,60)'/]来实现调用,以下我就发实现方法给大家。

dede:arclist flag='h' ' row='1' titlelen=''}

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

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

$row = $GLOBALS['dsql']->GetOne("Select body From

`d8_addonarticle` where aid='$aid' ");

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

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

{/dede:arclist}

数字400是用来设置需要调用多少内容的,因为调用的是 body里面的内容,如果有里面包含代码的话也会被调用出来,有这点不好。自己去实践实践以。

{dede:fieldclick/}只能在文章页调用,且是静态数值,手动更新文章这个阅读数才会更新。

列表页动态更新阅读数调用:

<script src="/plus/countphpview=yes&aid=[field:id/]&mid=1" type='text/javascript' language="javascript"></script>

列表页调用文章关键词:

[field:id runphp=yes]

global $dsql;

$tags = '';

$query = "SELECT keywords FROM `dede_archives` WHERE id='@me' ";

$dsql->Execute('keywords',$query);

while($row = $dsql->GetArray('keywords'))

{

$keywords1=$row['keywords'];

}

@me=$keywords1;

[/field:id]

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

我觉得你这个问题有点BC

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

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

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

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

步骤和方法

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

步骤和方法

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

调用代码:

{dede:list pagesize='10'}

[field:body/]

[field:title/]

{/dede:list}

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

织梦云模板为您解答:

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

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

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

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

else @me="";

[/field:global]

相关文档调用标签:

 {dede:likeart titlelen='24' row='10'}

 <li><a 

title="[field:title function='htmlspecialchars(@me)'/] " 

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

{/dede:likeart}

likeart

这个标签就是调用相关的文档的。《学技巧网站制作》为您解答,希望有所帮助!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms怎么在文章列表页调用文章阅读数和文章关键词?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情