本页主题: 记一下,有个站要用到:帝国cms6.6 转换为织梦cms 5.7 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

木子滨
广西李氏联谊网
级别: 总版主

 记一下,有个站要用到:帝国cms6.6 转换为织梦cms 5.7

0
将帝国cms 6.6 程序转换为dedecms 5.7 版本的! 这是两个不同的cms,对它们进行转换肯定得操作数据库,首先的研究他两的数据库结构,不过由于以前木有帝国和织梦cms相关的开发工作,面对两个陌生的 数据库结构,研究了半天之后我放弃了!开始在网上搜寻快捷答案!于是百度提问,泡论坛,搜索方法各种偷懒!发现了一个问题,大多数都是dedecms转帝 国cms的,很少有帝国转dedecms的!大家都说织梦是漏洞(bug)王,每一个程序都是在不断完善中改进的,而且dedecms在很多方面都是有优势的,我也希望织梦官方努力改进吧。。。 sEJC-$   
       有一个我觉着很扯的事情,就是dede官方论坛有低版本转换的方法,操蛋的dede官方论坛注册竟然要花钱,这就跟开卷考试但是收了课本有神马区别,一次注册永久生效也就罢了,竟然还有时间限制。。。这里鄙视下dede官方!赚钱的渠道很多,苦逼程序员的钱不好挣呀。。 EJ@p-}I!  
       果断放弃官方,因为官方出的只是低版本的,就算搞下来了也要修修改改的,还是决定自己研究 ).^}AFta  
      首先要导入的肯定是栏目了 l vMlL5t  
      关于数据库结构 帝国官方有一个很详细的手册  我在之前的文章中有发布 ,而可怜的dede 只能在一些blog的文章中找到,感谢整理这些资料的博主们,不过还不是很方便,我觉着dede官方应该大改进了 ZOCDA2e(j  
      帝国cms   栏目相关数据表   mlf_enewsclass (注意表的前缀) d)4 m6  
       dedecms 栏目相关数据表     dede_arctype p$Ox'A4  
      这里就不对字段进行解释了 直接上sql了  ;s`sn$@  
     把帝国数据库中mlf_enewsclass 这张表导入到dede数据库中方便操作 P9g en6  
       这条数据执行完了之后后台栏目已经有数据了 79`AM X[b  
      insert into dede_arctype (id,reid,typename,picname,sortrank,typedir,description,keywords) select classid,bclassid, *s9C!w YMZ  
classname,classimg,myorder,classpath,intro,classpagekey  from mlf_enewsclass > ;/l)qk,  
      update `dede_arctype` set `issend`=1 Re P|UH  
     update `dede_arctype` set `isdefault`=1 kS bu]AB  
T6 '`l?H`;  
<补充资料> ^J$2?!~  
假如a表存在,则insert into A(a,b,c) (select a,b,c from B)假如A表不存在,则select a,b,c into A from B Z'"tB/=W  
假如需要跨数据库库A表存在insert into A表数据库名.[dbo].A(a,b,c) (select a,b,c from B表数据库名.[dbo].B)不存在参照存在改下就可以了.... Wk)OkIFR  
你运行一下这个看有值不select * from sysobjects where xtype='U' and name='B' --B是表的名称,假如能够查到则对象B 表名存在,查不到则不存在 \WxukYH  
update phome_enewsclass set classpath=concat('/',classpath) WHERE classid=58 Tf'hc]`vS  
KV(Q;~8"X  
As'=tIro  
以下几条sql必须执行,要不然会出现 DedeTag Engine Create File False错误 37s0e;aF  
   ----------------------------------------------------------------------------- 9Z4nAc  
update `dede_arctype` set `namerule`="{typedir}/{Y}/{M}{D}/{aid}.html" AE[b},-[  
update `dede_arctype` set `namerule2`="{typedir}/list_{tid}_{page}.html" hgPa6Kd  
------------------------------------------------------------------------------ Q'=x|K#xj  
update `dede_arctype` set  `typedir`=CONCAT('{cmspath}/',typedir) =;Au<|  
update `dede_arctype` set  `templist`="{style}/list_article.htm" ~%&LTX0s|  
update `dede_arctype` set  `temparticle`="{style}/article_article.htm "   ~vm%6CABM  
update `dede_arctype` set  `tempindex`="{style}/index_article.htm"   :CG`t?N9M  
ZMQ Zs~;~d  
update  dede_arctype da,mlf_enewsclassadd me  set  da.content=me.classtext,da.seotitle=me.fpagetitle  where da.id=me.classid(注意) %O|iE M  
这样 栏目列表成功转换,后台可生成 fDv2JdiU  
L>jY.d2w=K  
下来开始整合文章 f\|w '  
首先 先来分析文章数据库结构 `KZm0d{H  
  dede文章相关的有3张数据表,分别是 dede_archives ,dede_addonarticle,dede_arctiny     /CrSu  
  帝国文章相关的数据表:      mlf_ecms_news,mlf_ecms_news_data_1(可能数据表有所不同,不过结构区别都不大) pC#E_*49  
  导入文章 <$D`Z-6  
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 Amtq"<h9a  
导入文章来源作者 yl'u'-Zb6  
update `dede_archives` da,mlf_ecms_news_data_1 men set da.source=men.befrom,da.writer=men.writer where da.id=men.id )*u8/U  
导入文章body(内容) Sj3+l7S?  
insert into dede_addonarticle (aid,typeid,body) select id,classid,newstext from mlf_ecms_news_data_1 men +Q/R{#O  
现在后台已经有了文章 ))qy;Q,  
不过发现了个问题,分类中显示的文档数量为0 !Lu2  
经过查资料,摸索 发现还需要操作一个数据表 dede_arctiny后台统计文档数量操作的是这个数据表 9=s<Ld  
insert  into `dede_arctiny` (id,typeid,channel,senddate,sortrank,mid) select  id,typeid,channel,senddate,sortrank,mid from dede_archives 9[#pIPxNK  
执行完毕之后发现最下级的栏目已经正常显示文档数量,但是顶级栏目依然是0,查看相关资料才发现dede一直是这样,这也算dede的一个bug吧
分享到:
顶端 Posted: 2014-03-22 18:00 | [楼 主]
帖子浏览记录 版块浏览记录
广西李氏联谊网 » 电脑数码交流


Total 0.050257(s) query 4, Time now is:01-18 12:11, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation