在使用dedecmsCMS进行内容管理时,许多用户可能会遇到一个问题:当添加新文章并同时勾选多个副栏目时,提交后再次查看或修改文章时,只有其中一个副栏目被保存。例如,选择1、2、3、4号副栏目提交后,返回修改时却发现只有1号副栏目被保存,必须重新选择并提交才能正确保存所有副栏目。这种现象不仅影响了工作效率,还增加了操作的复杂性。
那么,这个问题该如何解决呢?
经过分析发现,这是由于dedecmsCMS程序对$typeid2变量进行了整数化处理(`intval($typeid2)`),导致第一次添加文章时,多个副栏目的值被压缩为一个整数(即仅保留一个栏目)。这种情况在使用官方安装包且未做任何代码更改的情况下尤为常见。
以下是具体的解决方法:
需要编辑`/include/helpers/archive.helper.php`文件,找到第156行左右的一段代码:

$typeid2 = intval($typeid2);
    
将这段代码注释掉,修改为以下内容:

//$typeid2 = intval($typeid2);
    
或者直接删除该行代码即可。
完成上述修改后,保存文件并刷新后台页面,问题即可得到解决。此时,添加新文章时选择的多个副栏目能够正常保存,并在后续修改中显示完整的选择状态。
这种方法亲测有效,操作简单且无副作用,能够完美解决dedecmsCMS在添加文章内容时选择多个副栏目却只显示一个的问题。
注意:在进行任何代码修改之前,请务必备份原始文件,以防止因误操作而导致系统异常。此外,如果网站已经进行了较多自定义开发,建议仔细检查相关功能是否受到影响,确保修改后的系统运行稳定。
通过以上方法,您可以轻松解决dedecmsCMS多副栏目保存不全的问题,提升内容管理效率!