网络建站知识发布于分享网站

当前位置:首页>>新闻中心>>CMS教程>>dedecms教程

Dedecms实现Likearticle标签Mytypeid支持多栏目及子栏目功能

时间:2025-03-30 13:06:15    来源:    人气:0

在使用 Dedecms 的 `dede:likearticle` 标签时,如果您希望获取多个指定栏目下的相关文章,并且这些栏目下还有子栏目,那么官方默认的程序可能无法满足您的需求。为了解决这个问题,您需要对代码进行一些修改。 打开文件 `\include\taglib\likearticle.lib.php` 并找到以下代码:


if( !empty($typeid) && !preg_match('#,#', $typeid) ) {
    $typeid = GetSonIds($typeid);
}
    
接下来,在上述代码的下方加入以下内容:

else {
    $typeids = explode(',', $typeid);
    foreach($typeids as $ttid) {
        $typeidss[] = GetSonIds($ttid);
    }
    $typeidStr = join(',', $typeidss);
    $typeidss = explode(',', $typeidStr);
    $typeidssok = array_unique($typeidss);
    $typeid = join(',', $typeidssok);
}
    
通过以上修改,您可以实现从多个指定栏目及其子栏目中提取相关文章的功能。这一改动的关键在于处理 `$typeid` 参数,当其包含多个栏目 ID 时,通过 `explode()` 函数将其拆分为数组,并逐一调用 `GetSonIds()` 方法获取所有子栏目的 ID。最后,使用 `array_unique()` 去重,确保最终结果不会重复。 以下是具体步骤的详细说明:
1. **判断条件**:如果 `$typeid` 不为空且不包含逗号,则直接调用 `GetSonIds()` 获取子栏目 ID。
2. **多栏目处理**:如果 `$typeid` 包含多个栏目 ID(以逗号分隔),则将其拆分为数组并遍历每个栏目 ID,调用 `GetSonIds()` 获取对应子栏目。
3. **去重与合并**:将所有子栏目 ID 合并为一个字符串,再转换为数组并去重,最后重新拼接成字符串。
完成上述修改后,保存文件并刷新缓存即可生效。这样,您就可以在模板中使用 `dede:likearticle` 标签时,同时获取多个栏目及其子栏目下的相关文章了。
例如,如果您希望从栏目 ID 为 1 和 2 的栏目及其子栏目中获取相关文章,可以在模板中使用以下代码:

{dede:likearticle typeid='1,2' row='10'}
    
  • [field:title/]
  • {/dede:likearticle}
    这将显示来自栏目 1 和 2 及其子栏目下的前 10 条相关文章标题。此方法不仅提高了灵活性,还增强了 Dedecms 的功能扩展性。

    相关文章

    • Dedecms 删除文档时同时清除文章中图片的方法

      Dedecms 删除文档时同时清除文章中图片的方法

      在网站建设与维护的过程中,优化代码结构和功能是提升网站性能的重要步骤。本文将介绍如何通过自定义函数实现文章删除时自动清理相关资源的功能,从而提高系统的整洁性和存储效率。以下是具体的操作步骤及代码实现。首先, 在 `/include` 目录下创建一个名为 `extend.func.php` 的文件...
      2025-03-31
    • Dedecms上传图片提示302错误ERROR的解决方法

      Dedecms上传图片提示302错误ERROR的解决方法

      在进行图片上传操作时,用户可能会遇到302错误以及带有ERROR提示的图片上传失败问题。这些问题可能由多种原因引发,因此本文将对这些情况进行整理,以帮助大家更有效地定位并解决问题。 第一种情况:图片文件本身损坏。 这种情况会导致系统返回ERROR错误提示,不过发生概率较低。如果怀疑是图片损坏导致的...
      2025-03-31
    • DEDECMS模板使用教程

      DEDECMS模板使用教程

      如果您正在寻找一种高效的方法来使用Dedecms模板搭建网站或论坛,那么本文将为您提供详尽的指导。从模板解压到最终完成配置,每一步都将清晰呈现,帮助您快速掌握整个流程。 第一步:解压Dedecms模板 将下载的Dedecms模板文件解压出来,确保所有文件完整无误。如下图所示: 第二步:获取D...
      2025-03-31
    • Dedecms Dede 附加表自定义字段与主表文章关联方法

      Dedecms Dede 附加表自定义字段与主表文章关联方法

      在使用DedeCMS开发装修网站时,设计师和设计作品之间的关联是一个重要的功能需求。通常情况下,文章(作品)的内容部分存储在主表dede_addonarticle中,而自定义字段则存储在附加表dede_archives中。为了实现这一功能,可以采用以下两种方法。 ① 根据发布人调用相关文章; ...
      2025-03-31

    公众号