易优cms目录名称与系统内置冲突,去掉限制方法详解!

第一步,屏蔽检测文件

文件位置: \application\admin\controller\Arctype.php

找到代码病注释掉

				if (!empty($post['dirname']) && !$this->arctypeLogic->dirname_unique($post['dirname'], $post['id'])) {
                    $arctype_is_del = Db::name('arctype')->where(['dirname'=>$post['dirname'], 'lang'=>$this->admin_lang])->value('is_del');
                    if (empty($arctype_is_del)) {
                        $this->error('目录名称与系统内置冲突,请更改!');
                    } else {
                        $this->error('目录名称与回收站里的栏目冲突,请更改!');
                    }
                }

第二步, 虽然现取消了重复检测, 但如果提交重复路径, 系统会随机加3个数字,继续修改

文件位置: \application\common\logic\ArctypeLogic.php

找到代码并注释掉

        if (strval(intval($dirname)) == strval($dirname)) {
            if (preg_match('/^([0-9]+)$/i', $dirname)) {
                $dirname .= get_rand_str(3,0,0);
            } else {
                $dirname .= get_rand_str(3,0,2);
            }
        }
        $dirname = preg_replace('/(\s)+/', '_', $dirname);
        if (!$this->dirname_unique($dirname, $id, $newDirnameArr)) {
            $nowDirname = $dirname.get_rand_str(3,0,2);
            return $this->get_dirname($typename, $nowDirname, $id, $newDirnameArr);
        }

第三步, 截止目录可以正常提交了, 但会报数据库错误。 

这一步, 需要进入数据库管理, 执行sql语句。 

alter table ey_arctype drop index dirname

执行结束后,就可以提交重复的目录名称了。

posted @   黄文Rex  阅读(27)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示