將帝國cms 6.6 程序轉換為dedecms 5.7 版本的! 這是兩個不同的cms,對它們進行轉換肯定得操作數據庫,首先的研究他兩的數據庫結構,不過由于以前木有帝國和織夢cms相關的開發工作,面對兩個陌生的 數據庫結構,研究了半天之后我放棄了!開始在網上搜尋快捷答案!于是百度提問,泡論壇,搜索方法各種偷懶!發現了一個問題,大多數都是dedecms轉帝 國cms的,很少有帝國轉dedecms的!大家都說織夢是漏洞(bug)王,每一個程序都是在不斷完善中改進的,而且dedecms在很多方面都是有優勢的,我也希望織夢官方努力改進吧。。。
有一個我覺著很扯的事情,就是dede官方論壇有低版本轉換的方法,操蛋的dede官方論壇注冊竟然要花錢,這就跟開卷考試但是收了課本有神馬區別,一次注冊永久生效也就罷了,竟然還有時間限制。。。這里鄙視下dede官方!賺錢的渠道很多,苦逼程序員的錢不好掙呀。。
果斷放棄官方,因為官方出的只是低版本的,就算搞下來了也要修修改改的,還是決定自己研究
首先要導入的肯定是欄目了
關于數據庫結構 帝國官方有一個很詳細的手冊 我在之前的文章中有發布 ,而可憐的dede 只能在一些blog的文章中找到,感謝整理這些資料的博主們,不過還不是很方便,我覺著dede官方應該大改進了
帝國cms 欄目相關數據表 mlf_enewsclass (注意表的前綴)
dedecms 欄目相關數據表 dede_arctype
這里就不對字段進行解釋了 直接上sql了
把帝國數據庫中mlf_enewsclass 這張表導入到dede數據庫中方便操作
這條數據執行完了之后后臺欄目已經有數據了
insert into dede_arctype (id,reid,typename,picname,sortrank,typedir,description,keywords) select classid,bclassid,
classname,classimg,myorder,classpath,intro,classpagekey from mlf_enewsclass
update `dede_arctype` set `issend`=1
update `dede_arctype` set `isdefault`=1
以下幾條sql必須執行,要不然會出現 DedeTag Engine Create File False錯誤
-----------------------------------------------------------------------------
update `dede_arctype` set `namerule`="{typedir}/{Y}/{M}{D}/{aid}.html"
update `dede_arctype` set `namerule2`="{typedir}/list_{tid}_{page}.html"
------------------------------------------------------------------------------
update `dede_arctype` set `typedir`=CONCAT('{cmspath}/',typedir)
update `dede_arctype` set `templist`="{style}/list_article.htm"
update `dede_arctype` set `temparticle`="{style}/article_article.htm "
update `dede_arctype` set `tempindex`="{style}/index_article.htm"
update dede_arctype da,mlf_enewsclassadd me set da.content=me.classtext,da.seotitle=me.fpagetitle where da.id=me.classid(注意)
這樣 欄目列表成功轉換,后臺可生成
下來開始整合文章
首先 先來分析文章數據庫結構
dede文章相關的有3張數據表,分別是 dede_archives ,dede_addonarticle,dede_arctiny
帝國文章相關的數據表: mlf_ecms_news,mlf_ecms_news_data_1(可能數據表有所不同,不過結構區別都不大)
導入文章
insert into `dede_archives` (id,typeid,sortrank,click,title,litpic,filename,pubdate,senddate,description,keywords) select id,classid,truetime,onclick,title,titlepic,filename,newstime,lastdotime,smalltext,keyboard from mlf_ecms_news
導入文章來源作者
update `dede_archives` da,mlf_ecms_news_data_1 men set da.source=men.befrom,da.writer=men.writer where da.id=men.id
導入文章body(內容)
insert into dede_addonarticle (aid,typeid,body) select id,classid,newstext from mlf_ecms_news_data_1 men
現在后臺已經有了文章
不過發現了個問題,分類中顯示的文檔數量為0
經過查資料,摸索 發現還需要操作一個數據表 dede_arctiny后臺統計文檔數量操作的是這個數據表
insert into `dede_arctiny` (id,typeid,channel,senddate,sortrank,mid) select id,typeid,channel,senddate,sortrank,mid from dede_archives
執行完畢之后發現最下級的欄目已經正常顯示文檔數量,但是頂級欄目依然是0,查看相關資料才發現dede一直是這樣,這也算dede的一個bug吧
接下來到專題了,還木有想好具體方法,現在正在糾結。。。