帝国cms 数据可以转换成dedecms吗
一、批量导入栏目:
insert into phome_enewsclass (classid,bclassid,classname,myorder,classpath,intro,classpagekey) select id,reid,typename,sortrank,typedir,description,keywords from dede_arctype
二、导入文章
insert into phome_ecms_news (id,classid,truetime,onclick,title,titlepic,filename,newstime,lastdotime,smalltext,keyboard) select id,typeid,sortrank,click,title,litpic,filename,pubdate,senddate,description,keywords from dede_archives
三、导入文章来源作者
update `dede_archives` da,phome_ecms_news_data_1 men set dasource=menbefrom,dawriter=menwriter where daid=menid
四、导入文章body(内容)
insert into phome_ecms_news_data_1 (id,classid,newstext) select aid,typeid,body from dede_addonarticle men
如果你DEDE数据表中开头为其他的,代码中的dede_也要换成你dede数据库中的开头。
这个要改程序,光改模板不行。另外,你的dz和dede是不是放在同一个空间里面(这里指程序),是两个不同的网站,不同的IP地址,实现起来比较麻烦,因为这里又牵扯到了MYsql的一个权限。
首先要导入的肯定是栏目了
关于数据库结构 帝国官方有一个很详细的手册 我在之前的文章中有发布 ,而可怜的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
DedeTag Engine Create File False以下几条sql必须执行,要不然会出现 错误
-----------------------------------------------------------------------------
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_articlehtm"
update `dede_arctype` set `temparticle`="{style}/article_articlehtm "
update `dede_arctype` set `tempindex`="{style}/index_articlehtm"
update dede_arctype da,mlf_enewsclassadd me set dacontent=meclasstext,daseotitle=mefpagetitle where daid=meclassid(注意)
这样 栏目列表成功转换,后台可生成
下来开始整合文章
首先 先来分析文章数据库结构
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 dasource=menbefrom,dawriter=menwriter where daid=menid
导入文章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吧
0条评论