应对Dedecms织梦收费的方法:通过数据库导入WordPress

应对Dedecms织梦收费的方法:通过数据库导入Wordpress

继续给大家分享应对dedecms织梦收费的方法,本文给大家分享把织梦DedeCms导入wordpress的方法。如果是独立部署的企业网站,那么悦然网络工作室(悦然企业网站建设)强烈建议大家都使用wordpress,真正的开源免费,而且wordpress官方也不缺钱,他们不靠程序本身赚钱,而是靠周边的增值服务。(PS:我觉得国内的CMS都可以学学这种模式)


在正式操作之前请先做好wordpress建站工作,网上有很多教程,本站发制作了一个简易教程。可以自己做,也可以找人做,直接我我们也可以。下面看教程。(方法整理自博客吧)

步骤一:生成输出织梦Dedecms全站RSS文件并导入Wordpress

织梦的文章、标题、栏目分类存在三个不同的数据库表中,所以这一步骤稍微一点麻烦,新手操作会比较困难,但仔细多尝试也不存在什么大问题,下面看方法。

操作方法:

1、在dedecms的dede文件夹(后台文件夹)下找到makehtml_rss_action.php文件,对其进行编辑,找到代码:

echo "完成所有文件更新!";

在其下面添加代码:

echo "<a href='/rss.xml' target='_blank'>浏览…</a>";

这个代码的作用是在生成rss.xml文件后方便点击查看生成结果。

2、在dedecms的include文件夹下找到arc.rssview.class.php文件,并对其进行编辑,找到代码:

$murl = $GLOBALS['cfg_cmspath']."/data/rss/".$this->TypeID.".xml";

修改为:

$murl = $GLOBALS['cfg_cmspath']."/rss.xml";

这个代码的作用是修改生成的rss.xml文件路径,让该文件保存在网站根目录

再向下找到以下代码并将其删除:

$orwhere .= "And (arc.typeid in (".GetSonIds($this->TypeID,$this->TypeFields['channeltype']).") )";

3、进入后台——生成——更新RSS文件,把“单个类目最大记录数”改为全站的文章数量,然后点击“开始更新”,更新完成后,网站根目录下会生成一个全站rss.xml文件,可通过http://网站域名/rss.xml查看。确定没问题的话就把这个文件下载到本地电脑。

注意:如果生成的rss.xml文件有错误,在织梦dedecms根目录下的templets文件夹中的plus文件夹里找到rss.htm文件,对其进行编辑,找到代码:

<description><![CDATA[[field:description function='html2text(@me)'/]]]></description>

修改为:

<description><![CDATA[[field:description/]]]></description>

然后通过wordpress程序后台——工具——导入——RSS,上传导入生成的织梦全站RSS文件。如果第一个使用需要先安装,安装好后直接导入上面下载好的RSS文件就可以了。

注:wordpress的编码是utf8,如果dedecms使用的不是utf8的,导入前请先转换编码为utf8。另外RSS并不能导入全文,所以我们还得继续下一步。

步骤二:织梦Dedecms数据库处理

织梦文章的数据存储在dede_addonarticle数据库的body字段中,现在需要把body字段的内容转到wordpress数据库的wp_posts数据库的post_content字段里。

这个转换需要使用一个桥梁——那就是dede_archives数据表,即dede_addonarticle上body的内容先转到dede_archives上,再从dede_archives转到wp_posts的post_content里。这两次转换的匹配点,分别是织梦里的文章id,以及Wordpress里已经导入了的文章标题(这与织梦里的文章标题是一样的)。

具体的操作步骤如下:

进入phpmyadmin,选择dedecms网站使用的数据库,在SQL输入框中执行以下SQL语句,在织梦数据库的dede_archives表上,添加字段body

ALTER TABLE dede_archives ADD body longtext NOT NULL

然后再执行以下SQL语句把dede_addonarticle数据表中的body字段内容导入到dede_archives的body字段,语句以dede_addonarticle的aid和dede_archives的id为匹配点:

UPDATE dede_archives,dede_addonarticle
SET dede_archives.body = dede_addonarticle.body
WHERE dede_archives.id = dede_addonarticle.aid

步骤三:把织梦数据库导入到Wordpress数据库中

接着通过phpmyadmin导出功能把dede_archives数据表导出,然后再通过导入功能把该数据表导入wordpress网站使用的数据库中,使其与wp_posts数据库处在同一个数据库里。

下面再次wordpress数据库中使用SQL语句把dede_archives的body导入到wp_posts上的post_content上,以文章标题为匹配点(前提是文章标题都是唯一的):

UPDATE wp_posts,dede_archives  
SET wp_posts.post_content = dede_archives.body
WHERE wp_posts.post_title = dede_archives.title

至此文章内容部分转换完成!不过此时的文章没有了原来的阅读点击数据,如果想让它显示原来的,那么继续看下一步,在此之前请做好网站备份。

步骤四:在Wodpress中恢复织梦Dedecms的浏览数据

1、wordpress安装Simple Hit Counter插件

下载地址

https://downloads.wordpress.org/plugin/simplehitcounter.1.0.zip

插件安装启用后数据库里会生成wp_hitcount表,在SQL输入框中执行以下语句在增加hits字段

ALTER TABLE wp_posts ADD hits INT(10) NOT NULL

执行以下SQL语句,把dede_archives上的点击数click导入到wp_posts的hits上,仍然以标题为匹配点:

UPDATE wp_posts,dede_archives  
SET wp_posts.hits = dede_archives.click
WHERE wp_posts.post_title = dede_archives.title

最后执行以下SQL语句把wp_posts的hits导入到wp_hitcount的hits上,这次以wp_posts的ID和wp_hitcount的pid为匹配点:

UPDATE wp_posts,wp_hitcount 
SET wp_hitcount.hits = wp_posts.hits
WHERE wp_hitcount.pid = wp_posts.ID

至此点击数转换完成,然后在模板中添加Simple Hit Counter插件调用代码即可。

PS:这里使用的插件很久没更新了,也没有测试,如非必要这一步骤可以省略,可以改用其它插件来修改浏览量,不改其实也没关系的,这个数值只是自我安慰罢了。

总结

这就是悦然网络工作室给大家分享的第三篇应对dedecms织梦收费的方法,从织梦过渡到WordPress。整体操作比较复杂和麻烦,需要仔细看慢慢做。


相关文章

暂无评论

暂无评论...