如何在DedeCMS织梦中高效调用相关文章?
创始人
2025-02-15 00:33:33
0
在dedecms织梦中,调用相关文章可以通过使用系统内置的标签来实现。具体操作如下:,,1. 打开需要调用相关文章的文章模板文件,article_article.htm。,2. 在需要显示相关文章的位置,添加以下代码:,,`,{dede:likearticle row='8'},[field:title/],{/dede:likearticle},`,,row`属性表示显示相关文章的数量,可以根据需要自行调整。,,3. 保存模板文件并更新文章页面,即可看到相关文章的显示效果。

在DedeCMS织梦内容管理系统中,调用相关文章是一个常见的需求,它不仅能提高用户体验,还可以增强SEO效果,下面将详细介绍如何在DedeCMS中调用相关文章,并提供一些常见问题的解答:

如何在DedeCMS织梦中高效调用相关文章?

基本方法

1、使用默认标签

DedeCMS提供了一个内置的标签{dede:likearticle},用于调用相关内容,这个标签的基本用法如下:

```html

{dede:likearticle}

[field:title/]

{/dede:likearticle}

```

参数说明

col:设置分多少列显示,默认为单列。

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

titlelen长度,等同于titlelength

infolen简介长度,等同于infolength

mytypeid:手工指定要限定的栏目ID,用逗号分开表示多个。

innertext:单条记录样式(指标签中间的内容)。

2、自定义类库文件

官方的{dede:likearticle}标签可能不够精准,可以通过自定义类库文件来实现更精确的调用,在include/taglib目录下添加一个liketags.lib.php文件,代码如下:

```php

if(!function_exists('lib_liketags'))

{

function lib_liketags(&$ctag,&$refObj)

{

global $dsql,$envs;

//属性处理

$attlist="row|12,titlelen|30,infolen|250,col|1,tablewidth|100,typeid|0,byabs|0,imgwidth|120,imgheight|90,flag|";

FillAttsDefault($ctag>CAttribute>Items,$attlist);

extract($ctag>CAttribute>Items, EXTR_SKIP);

$revalue = '';

if(empty($tablewidth)) $tablewidth = 100;

if(empty($col)) $col = 1;

$colWidth = ceil(100/$col);

$tablewidth = $tablewidth."%";

$colWidth = $colWidth."%";

$orwheres = '';

if($flag != '') {

$flags = explode(',', $flag);

for($i=0; isset($flags[$i]); $i++) $orwheres .= " AND FIND_IN_SET('{$flags[$i]}', arc.flag)>0 ";

}

$ids = array();

$tids = array();

if(!empty($refObj>Fields['tags'])) {

$keyword = $refObj>Fields['tags'];

} elseif(!empty($refObj>Fields['keywords'])) {

$keyword = $refObj>Fields['keywords'];

}

$typeid = ( !empty($typeid) ? $typeid : 0 );

if(empty($typeid))

{

if(!empty($refObj>Typelink>TypeInfos['reid'])) {

$typeid = $refObj>Typelink>TypeInfos['reid'];

} elseif(!empty($refObj>Fields['typeid'])) {

$typeid = $refObj>Fields['typeid'];

}

}

if( !empty($typeid) && !preg_match('/,/', $typeid) ) {

如何在DedeCMS织梦中高效调用相关文章?

$typeid = GetSonIds($typeid);

}

if(!empty($refObj>Fields['tags']) && $eregtype != 'keyword' ) {

$tags = explode(',', addslashes($refObj>Fields['tags']));

$getsql = " tag like '".join("' OR tag like '", $tags)."' ";

$dsql>Execute('me', "Select * From#@__tagindex where $getsql ");

while($arow = $dsql>GetArray('me')) {

$tids[] = $arow['id'];

}

$tid = join(',', $tids);

if($tid!='') {

$dsql>Execute("me", "Select aid From#@__taglist where tid in($tid) And arcrank > 1 group by aid order by aid desc");

while($arow = $dsql>GetArray("me")) {

$ids[] = $arow['aid'];

$arcid = $refObj>Fields['aid'];

}

}

}

//获取附加表的相关信息

$addField = "";

$addJoin = "";

if(is_object($refObj>ChannelUnit)) {

$addtable = $refObj>ChannelUnit>ChannelInfos['addtable'];

if($addtable!="") {

$addJoin = " LEFT JOIN $addtable ON arc.id = ".$addtable.".aid ";

$addField = "";

$fields = explode(",",$refObj>ChannelUnit>ChannelInfos['listfields']);

foreach($fields as $k=>$v) {

$nfields[$v] = $k;

}

foreach($refObj>ChannelUnit>ChannelFields as $k=>$arr) {

if(isset($nfields[$k])) {

if(!empty($arr['rename'])) {

$addField .= ",".$addtable.".".$k." as ".$arr['rename'];

} else {

$addField .= ",".$addtable.".".$k;

}

}

}

}

}

//执行SQL查询语句并生成HTML代码

$revalue .= "

    ";

    if($ids) {

    $query = "SELECT * FROM #@__archives WHERE id IN (".implode(',', $ids).") ".$orwheres." ".$addJoin." ORDER BY click DESC,id DESC LIMIT ".$row;

    $dsql>ExecuteNoneReturn($query);

    while($rs = $dsql>GetObject("rs")) {

    $revalue .= "

  • ".$rs>Title."
  • ";

    }

    }

    $revalue .= "

";

return $revalue;

}

}

```

如何在DedeCMS织梦中高效调用相关文章?

使用方法

```html

{dede:likearticle row='10' titlelen='42'}

  • [field:title/]
  • {/dede:likearticle}

    ```

    示例

    ```html

    相关文章

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

    • [field:pubdate function="MyDate('Ymd',@me)"/]·[field:title/]
    • {/dede:likearticle}

    ```

    常见问题与解决策略

    1、问题一:调用相关文章不显示

    原因分析:可能是因为没有相同标签的文章,或者有相同标签的文章不在同一个栏目下,DedeCMS的相关文章默认是调用同一栏目下同标签或关键词的文章。

    解决方法:可以尝试修改系统文件include/taglib/likearticle.lib.php中的条件判断,将$typeid = "And arc.typeid in($typeid) And arc.id<>$arcid";改为$typeid = "And arc.id<>$arcid";,然后重新生成所有页面。

    2、问题二:如何调用全站相关文章

    解决方法:可以使用上述自定义类库文件的方法,通过修改liketags.lib.php文件来实现全站相关文章的调用,具体操作步骤如下:

    include/taglib目录下新建liketags.lib.php文件。

    将上述PHP代码粘贴到文件中。

    在模板文件中使用{dede:likearticle}标签进行调用。

    注意事项:修改系统文件前请务必做好备份,以免造成不必要的损失,如果不熟悉操作,建议寻求专业人士帮助。

    通过以上介绍,我们了解了在DedeCMS中调用相关文章的基本方法和自定义类库文件的实现方式,合理利用这些功能不仅可以提升网站的用户体验,还能有效增强SEO效果,未来随着DedeCMS的不断更新和完善,相信会有更多便捷高效的功能和插件供我们使用,助力网站运营更加顺利高效。


    Dedecms织梦调用相关文章的方法

    在DedeCMS中,调用相关文章是一种常见的功能,用于增加用户体验,帮助用户浏览更多相关内容,以下是如何在DedeCMS中调用相关文章的详细步骤:

    1. 准备工作

    确保你的DedeCMS系统已安装并正常运行。

    确定你想要调用相关文章的类型(如单页、列表页等)。

    2. 相关文章调用方式

    DedeCMS提供了多种调用相关文章的方式,以下是一些常用方法:

    2.1. 通过单页模板调用

    1、打开你的单页模板文件(如 article_show.html)。

    2、在合适的位置添加以下代码:

     

    这段代码将会调用单页模板中当前文章的相关内容。

    2.2. 通过列表页模板调用

    1、打开你的列表页模板文件(如 list_news.php)。

    2、在合适的位置添加以下代码:

     {dede:field.title/}";     } } ?>

    这段代码将会在列表页中显示与当前列表页相关的内容。

    2.3. 通过单页和列表页通用的方式调用

    如果你希望在不同类型的页面中调用相关文章,可以使用以下通用代码:

     {dede:field.title/}";     } } ?>

    3. 相关参数说明

    $aid:当前文章的ID。

    GetRelatedArchives():DedeCMS提供的函数,用于获取相关文章。

    4. 注意事项

    调用相关文章时,确保你有足够的权限。

    根据需要调整相关文章的显示方式和数量。

    测试模板以确保相关文章的调用正确无误。

    就是在DedeCMS中调用相关文章的详细方法,希望对你有所帮助!

    相关内容

    热门资讯

    黑科技玄学(wepoke算法)... 黑科技玄学(wepoke算法)外挂透明挂辅助软件(透视)真是是真的有挂(黑科技细节)-哔哩哔哩1、在...
    黑科技挂(德扑ai助手)外挂透... 黑科技挂(德扑ai助手)外挂透明挂辅助教程(透视)果然有挂(黑科技脚本)-哔哩哔哩1、每一步都需要思...
    黑科技线上(wpkai辅助)外... 黑科技线上(wpkai辅助)外挂黑科技辅助技巧(透视)原来存在有挂(黑科技介绍)-哔哩哔哩;1、任何...
    黑科技免费(wpk有赢的吗)外... 黑科技免费(wpk有赢的吗)外挂黑科技辅助安装(透视)一贯有挂(黑科技攻略)-哔哩哔哩1、这是跨平台...
    黑科技辅助挂(德扑之星ai代打... 黑科技辅助挂(德扑之星ai代打)外挂透明挂辅助app(透视)本来是真的有挂(黑科技方法)-哔哩哔哩1...
    黑科技总结(德州之星有机器人吗... 黑科技总结(德州之星有机器人吗)外挂黑科技辅助安装(透视)切实存在有挂(黑科技方法)-哔哩哔哩德州之...
    黑科技软件(Wpk辅助器)外挂... 黑科技软件(Wpk辅助器)外挂透明挂辅助技巧(透视)原来是有挂(黑科技教程)-哔哩哔哩1、许多玩家不...
    黑科技辅助(Wepoke透明挂... 黑科技辅助(Wepoke透明挂)外挂黑科技辅助器(透视)确实真的是有挂(黑科技工具)-哔哩哔哩Wep...
    黑科技辅助挂(微扑克辅助器io... 黑科技辅助挂(微扑克辅助器ios)外挂黑科技辅助软件(透视)一直有挂(黑科技黑科技)-哔哩哔哩1、全...
    黑科技线上(wepoke模拟器... 黑科技线上(wepoke模拟器)外挂透视辅助安装(透视)原来有挂(黑科技规律)-哔哩哔哩1、超多福利...