96SEO 2025-09-23 11:36 20
DedeCms是一款广泛使用的内容管理系统,arclist标签用于调用指定栏目的文章列表。只是 在实际应用中,很多站长遇到一个棘手问题:文章选择了副栏目后arclist标签无法正确调用这些文章。特别是当一篇文章被多个副栏目收录时arclist往往只显示主栏目下的内容,而忽略副栏目。

本文将详细讲解如何解决DedeCms中arclist标签无法调用副栏目文章的难题, 并提供可直接操作的代码修改方案,让你轻松实现多栏目的文档调用。
在DedeCms中,文档除主栏目外可以设置多个副栏目。系统默认查询时只检索主栏目的typeid字段,不会自动关联typeid2。导致使用标准的arclist标签时无法显示属于副栏目的文章。
具体表现:
DedeCms版本5.7 SP1及以上版本中, arclist标签的数据库查询条件逻辑写在文件:
/include/taglib/arclist.lib.php
大约在第295-296行左右,有如下代码段:
if
$orwheres = ' arc.typeid IN .')';
else
$orwheres = ' arc.typeid IN .','.$CrossID.')';
此处仅判断了主栏目的typeid,没有涉及typeid2的情况,也没有处理多重分类匹配,所以呢导致了无法显示选择了副栏目的文章。
思路解析:
// 原始代码
if
$orwheres = ' arc.typeid IN .')';
else
$orwheres = ' arc.typeid IN .','.$CrossID.')';
// 修改后代码
if {
$sonids = GetSonIds;
$orwheres = " OR arc.typeid2 IN OR CONCAT LIKE '%,$typeid,%') ";
} else {
$sonids = GetSonIds;
$crossids = $CrossID;
$orwheres = " OR arc.typeid2 IN OR CONCAT LIKE '%,$typeid,%' OR CONCAT LIKE '%,$crossids,%') ";
}
说明:
{dede:arclist type='text' row='10' typeid='12' orderby='pubdate' flag='' /}
{dede:arclist row='8' type='text' typeid='12' flag='' orderby='pubdate'}
- 发布时间:
{/dede:arclist}
*确保已经完成前述核心文件修正, 否则此处仍不会调出多重分类中的内容*
Dede官方模板通常在频道列表页、首页或者专题页通过{dede:arclist}实现动态内容调用。比方说 一个频道下既有主子栏目,又涉及多余的交叉版块,就可以这样写:
{dede:arclist row='10' type='text' typeid='$topTypeId$' crosspage='$crossPageId$' flag='' orderby='pubdate'}
&-&-&-&-&;
{/dede:arclist}
*其中 crosspage 或 CrossID 参数可用于传递额外事叉/附加分类ID,这样结合前面修正后的核心SQL即可实现准确的数据拉取。*
DedeCMS默认不支持通过 arclist 标签自动拉取选择了多个附加/副栏目的文档,是由于核心查询逻辑未涵盖对arc.typeid2字段以及模糊匹配逗号分隔值”的处理造成。在本教程中, 我们通过直接修改/include/taglib/arclist.lib.php核心程序,使得where条件增加对附加分类判定,从而完美解决此问题,实现灵活精准地按任意类别组合拉取相关文章功能。一边兼顾flag标记筛选保证功能完整性与稳定性。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback