如何在DedeCMS中调用相关文章?

avatar
作者
筋斗云
阅读量:0
在dedecms中,可以使用以下代码调用相关文章:,,``php,{dede:likearticle row='8' typeid='@me'},[field:title/],{/dede:likearticle},``,,这段代码会在当前文章下方显示8篇相关文章。

如何在DedeCMS中调用相关文章

如何在DedeCMS中调用相关文章?

在DedeCMS(织梦内容管理系统)中,调用相关文章是一个常见的需求,特别是在内容页的末尾或侧边栏添加相关文章可以增加用户的黏度,提高页面浏览量(PV),并提升搜索引擎对网站的好感,以下是几种常用的方法来实现这一功能:

方法一:使用默认的likearticle标签

这是最基础的方法,通过DedeCMS自带的{dede:likearticle}标签实现相关文章的调用,具体代码如下:

 {dede:likearticle row='6' titlelen='40'}     <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li> {/dede:likearticle}

参数说明

row:返回文档列表总数,默认为10。

titlelen长度,等同于titlelength

方法二:通过关键词调用相关文章

这种方法可以通过编辑模板文件,利用关键词来调用相关文章,从而提供更精确的内容推荐,具体步骤如下:

1、找到并修改include/taglib/arclist.lib.php文件

打开文件,找到以下内容:

```php

//关键字条件 if($keyword!='') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) REGEXP '$keyword' "; }

```

替换为:

```php

if($keyword != '') { $keyword = str_replace(',', '|', $keyword); $orwheres[] = " CONCAT(arc.title,arc.keywords) LIKE '%$keyword%' "; }

```

2、将相关代码添加到模板文件中

```php

{dede:likearticle row=’8’ eregtype=‘all|tag|keyword’}

<li><span>[field:pubdate function="MyDate('Ymd',@me)"/]</span>·<a href="[field:arcurl/]" title="[field:fulltitle/]" target="_blank">[field:title/]</a></li>

{/dede:likearticle}

```

方法三:检索当前会员发布的相关文章

如果需要根据当前会员发布的相关文章进行调用,可以使用以下SQL语句:

 {dede:sql sql="SELECT * FROM dede_archives WHERE writer=~writer~"}     [field:id/], {/dede:sql}

说明:这里的~writer~会根据当前内容的环境变量进行替换后再执行查询。

方法四:动态获取ID

通过动态获取文章ID来实现相关文章的调用:

 {dede:sql sql='Select * from dede_archives where id=~id~'}     <a href='[field:arcurl/]'>[field:title/]</a> {/dede:sql}

FAQs

问题1:如何调用全站相关文章?

:要调用全站相关文章,可以使用如下代码:

 {dede:likearticle row='10' titlelen='50'}     <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li> {/dede:likearticle}

这里,row参数控制返回的文章数量,titlelen控制显示的标题长度。

问题2:如何排除当前文章?

页调用本栏目或者指定栏目的相关文章,但不包括当前这篇文章,可以在模板中使用条件判断:

如何在DedeCMS中调用相关文章?

 {dede:likearticle row='8' titlelen='50'}     {if !([field:id/] == @me)}         <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>     {/if} {/dede:likearticle}

这样,当前文章就不会出现在相关文章列表中。


在DedeCMS(织梦内容管理系统)中调用相关文章,可以通过以下几种方式实现:

1. 通过标签调用相关文章

DedeCMS提供了丰富的标签库,其中#dede:标签可以用来调用相关文章,以下是一些常用的相关文章调用标签:

a.{dede:arclist typeid='1' titlelen='30' row='5'}

typeid='1':指定调用文章的栏目ID。

titlelen='30':设置文章标题显示的最大长度。

row='5':设置调用文章的数量。

b.{dede:arclist typeid='1' row='5' orderby='pubdate'}

orderby='pubdate':按文章发布日期排序。

2. 通过模型调用相关文章

如果文章属于某个模型,可以使用以下标签:

a.{dede:channelartlist typeid='1' titlelen='30' row='5'}

typeid='1':指定调用文章的栏目ID。

titlelen='30':设置文章标题显示的最大长度。

row='5':设置调用文章的数量。

3. 通过文章ID调用相关文章

如果知道相关文章的具体ID,可以使用以下标签:

a.{dede:arctype id='1'}

id='1':指定调用文章的ID。

4. 通过文章分类调用相关文章

如果需要通过文章分类调用相关文章,可以使用以下标签:

a.{dede:channelartlist typeid='1' titlelen='30' row='5'}

typeid='1':指定调用文章的分类ID。

5. 通过自定义SQL查询调用相关文章

如果需要更复杂的查询,可以通过自定义SQL语句来调用相关文章:

a.{dede:sql sql='SELECT * FROM dede_arctype WHERE typeid=1'}

sql='SELECTFROM dede_arctype WHERE typeid=1'指定自定义的SQL查询语句。

使用示例

以下是一个简单的调用相关文章的示例:

 {dede:arclist typeid='1' titlelen='30' row='5'}     <div class="relatedarticle">         <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>         <p>[field:description function="cn_substr(@me,100)"/]</p>     </div> {/dede:arclist}

在这个示例中,我们调用了ID为1的栏目下的5篇文章,并且只显示了文章标题和摘要。

代码需要在DedeCMS的模板文件中使用,并根据实际情况调整参数。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!