教大家如何實現織夢CMS文章模型文章轉入新的自定義模型,方法步驟如下:
假設以前的欄目為文章模型,欄目ID為5, 新建模型ID為17(默認的文章模型為1,模型ID可以在內容模型管理最左側看到),數據庫中新模型附加表為dede_addon17(一般均為dede_addon加新建模型的ID,如果不同,則自行替換一下SQL語句中的表名)。
一、首先,我們先在后臺備份好數據庫(系統--數據庫備份/還原),備份好數據庫后,我們先將原文章模型下的欄目ID為5的內容全部轉移到新的自定義模型附加表dede_addon17中,在系統——SQL命令行工具中輸入以下SQL語句:
INSERT INTO dede_addon17(aid,typeid,redirecturl,userip,body) SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =5;
這里需要注意的是,一定會一點SQL語句基礎,如果你的自定義模型的body部分被你換成自定義的名字比如content,那么SQL語句就該改為:
INSERT INTO dede_addon17(aid,typeid,redirecturl,userip,content) SELECT aid,typeid,redirecturl,userip,body FROM dede_addonarticle where dede_addonarticle.typeid =5;
對比一下即知道,怎么把老數據對應到新的數據表中來。
二、刪除原欄目下的全部內容(已經成功復制一份到新模型下了):
DELETE FROM `dede_addonarticle` WHERE typeid =5;
三、將關聯模型的地方全部改寫一遍,將原來欄目ID為5對應的頻道模型全部由1改成17:
update dede_arctiny set channel=17 where typeid=5;
update dede_archives set channel=17 where typeid=5;
update dede_arctype set channeltype =17 where id =5;
做到這里就完美實現了將原來文章模型下的內容轉移到新的自定義模型下。
四、如果你想把原來欄目ID為6的內容遷移到新的自定義模型ID為17,欄目ID為5的欄目下,則還需要執行以下SQL語句:
update dede_addon17 set typeid=5 where typeid=6;
update dede_archives set typeid=5 where typeid=6;
update dede_arctiny set typeid=5 where typeid=6;
這里是為了修改關聯欄目,將原來調用ID為6的欄目的地方,全部改為ID為5的欄目。
五、刪除舊欄目:
DELETE FROM dede_arctype WHERE id=6;
完成以上步驟后,如果網站后臺新模型欄目下沒有出現遷移來的文章列表,則需要執行到系統——系統錯誤修復下執行修復工作:
然后再將data/cache/listcache下的緩存文件全部刪除(建議在服務器或虛擬空間控制面板、FTP中操作):