原创

帝国cms如何更改栏目id

按照正常逻辑来讲一般这样的问题应该网上一搜一大把,但是我今天尝试搜索了一把,居然发现没有!

这太奇葩了。这应该是很多同学都需要的方法啊!另外帝国引入的这种自增ID是值得我们吐槽的。

今天就来讲讲咋样修改栏目ID,做到随心所欲的更改帝国CMS的栏目ID。

我以默认的文章模型作为讲解。

  1. 确定你的栏目ID以及文章模型连带关系

  2. 编写脚本

操作前,一定记得备份,否则欲哭无泪不要找我,操作后请一定刷新数据库缓存,所有的缓存都点一点。

本文来自丢节操吧(www.djc8.com)转载请保留此段文字,否则视为侵权

一、如何确定文章模型以及连带关系

一般这样的操作都是执行一些SELECT语句就可以了,但是为了小白着想,我们从页面上操作,进入后台后,点击栏目->栏目管理->管理栏目->找到你要操作的栏目,点击编辑

之后找到绑定的系统模型,我这里是新闻系统模型,如下图

blob.png

点击管理系统模型

点击点击管理分表,弹出管理附表分表界面

复制:phome_ecms_news 备用。这里说明一点,帝国的栏目支持多副表,这里我们要记录的是当前有多少张副表,比如我现在这里只有两张。

blob.png

第一步完成,已经记录下的信息可以保存下,防止忘记了。

二、编写脚本

我这里以系统默认的文章模型作为讲解,并且我的栏目ID为2,我现在要将其更改为10.

看下面的脚本

/*1.栏目信息*/
UPDATE PHOME_ENEWSCLASS SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ENEWSCLASS_STATS SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ENEWSCLASSADD SET CLASSID=10 WHERE CLASSID=2;
/*2.信息,第一步获取到的表在这里*/
UPDATE PHOME_ECMS_NEWS SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_CHECK SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_CHECK_DATA SET CLASSID=10 WHERE CLASSID=2;
/*3.PHOME_ECMS_NEWS就是模型对应的表名,如果当前有多张副表,则复制下面代码,且将数字1修改为对应的副表编号,我这里只有两张*/
UPDATE PHOME_ECMS_NEWS_DATA_1 SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_DATA_2 SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_DOC SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_DOC_DATA SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_DOC_INDEX SET CLASSID=10 WHERE CLASSID=2;
UPDATE PHOME_ECMS_NEWS_INDEX SET CLASSID=10 WHERE CLASSID=2;
/*4.可能有的信息有图片附件,因为里面也有CLASSID,也需要修改*/
UPDATE PHOME_ENEWSFILE_1 SET CLASSID=10 WHERE CLASSID=2;

上面的代码主要要注意的就是第三点。

之后放在帝国里面执行下或者第三方工具执行,最后更新缓存。就改好了

blob.png

这样就成功的将栏目ID修改了。另外如果还有哪张表没有改的,麻烦在下面的留言区告知我,谢谢!

温馨提示:
本文最后更新于 2022年03月01日,已超过 128 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录