DEDE专题节点ID不能出现重复的解决方法

181

在做专题的时候发现个特别郁闷人的事情, 
5个节点,任意一个节点中出现ID重复均被过滤之后写入数据库; 
为此研究了一番,最后发现罪魁祸首就是以下代码: 


if(is_array($ids))
            {
                foreach($ids as $mid)
                {
                    $mid = trim($mid);
                    if($mid=="") continue;
                    if(!isset($arcids[$mid]))
                    {
                        if($okids=="")
                        {
                            $okids .= $mid;
                        }
                        else
                        {
                            $okids .= ",".$mid;
                        }
                        $arcids[$mid] = 1;
                    }
                }
            }


其中foreach循环中,有个isset的判断,就是在此过滤了一些重复ID; 
不知道DEDE $arcids这个变量是如何设置的,经过foreach循环之后既然会赋予所有节点的ID均入到数组中。 
为此,我的解决方法是这样的: 
首先将$ids这个数组变量进行去重复处理: 

$ids = array_unique($ids);

之后将isset改用is_array判断是否是数组 
完整的代码如下: 


$ids = array_unique($ids);
            if(is_array($ids))
            {
                foreach($ids as $mid)
                {
                    $mid = trim($mid);
                    if($mid=="") continue;
                    if(!is_array($arcids[$mid]))
                    {
                        if($okids=="")
                        {
                            $okids .= $mid;
                        }
                        else
                        {
                            $okids .= ",".$mid;
                        }
                        $arcids[$mid] = 1;
                    }
                }
            }

不知道如此更改是否会有其他“副作用”!还望大家多多指教!

The End
专题

相关推荐

织梦后台专题节点文章列表在PHP7只能保存1个文档解决方法
1、打开 /dede/spec_add.php 找到 $arcids = ; 改成 $arcids = array(); 2、打开 /dede/spec_edit.php 找到 $arcids = ; 改成 $arcids = array(); 完成...
2021-05-26 dedecms安装使用
83

dedecms专题模版{wmd:field.note/}代码结构修改
我的网站要调用的循环的内容是lispan class=date[field:typename/]/spana href=[field:arcurl /] target=_blank[field:title /]/a/li但是生产html输出结果多了一些东西变成了: dl class=tbox dtstrong./strong/dt dd ul class=d1 ico3lispan class=date[fie...
2017-06-27 dedecms安装使用
276

Dedecms数据库结构表名:wmd_addonspec
Dedecms数据库结构表名:wmd_addonspec字段说明如下: 表名:wmd_addonspec (ENGINE=MyISAM/CHARSET=gbk) 说明:专题附加表 字段名 说明描述 具体参数 note 专题记录字段 text , typeid 栏目ID smallint(5) unsigned NOT NULL DEFAULT 0 , templet 自定义...
2016-11-15 dedecms安装使用
326

织梦Dedecms自动摘要字节限制
织梦的摘要字节数是有限制的,所以当你需要添加很长的摘要的时候,比如在专业页面中,对专题页面进行介绍,就不是织梦默认的240个字符可以满足的了。那怎么去除织梦的摘要长度限制呢?在制作专题页面的时候,就发现了这个问题。...
2016-04-01 dedecms安装使用
32

DEDE专题节点ID不能出现重复的解决方法
在做专题的时候发现个特别郁闷人的事情, 5个节点,任意一个节点中出现ID重复均被过滤之后写入数据库; 为此研究了一番,最后发现罪魁祸首就是以下代码: if ( is_array ( $ids )) { foreach ( $ids as $mid ) { $mid = trim( $mid ); if ( $mid == ) contin...
2016-03-28 dedecms安装使用
181

织梦CMS文件夹目录解释(完整版)
目录分析: ./dede dede后台 ./html 生成节目对应的文件 ./include 类库,装备文件,词库 ./member 会员功用 ./plus 插件(留言簿,投票。。) ./setup 设备程序目录 ./special 专题生成目录 ./templets 网站模板目录 ./upimg 收集,后者用户上载的附件地址的目...
2015-08-08 dedecms安装使用
198