易优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
执行结束后,就可以提交重复的目录名称了。

扫码添加技术【解决问题】
专注企业网站建设、网站安全16年。
承接:企业网站建设、网站修改、网站改版、BUG修复、问题处理、二次开发、PSD转HTML、网站被黑、网站漏洞修复等。
专业解决各种疑难杂症,您有任何网站问题都可联系我们技术人员。
本文来自博客园,作者:黄文Rex,转载请注明原文链接:https://www.cnblogs.com/hwrex/p/18364437

浙公网安备 33010602011771号