网站地图    收藏   

主页 > 后端 > 帝国cms难点 >

火车头采集文章并导入帝国CMS

来源:未知    时间:2015-06-06 14:27 作者:xxadmin 阅读:

[导读] 帝国CMS自身带有文章采集功能,但跟火车头比起来,还是差太多了,而且自己已经习惯了用火车头了,所以还是想通过火车头来采集文章然后写入帝国CMS中. 火车头的自带的web在线发布模块只...

帝国CMS自身带有文章采集功能,但跟火车头比起来,还是差太多了,而且自己已经习惯了用火车头了,所以还是想通过火车头来采集文章然后写入帝国CMS中.

火车头的自带的web在线发布模块只有帝国商品和软件模块的,没有新闻模块的,所以,要插入新闻,还是自己想办法,我用的方法是自己把采集到的数据直接写入帝国数据库中。

首先要了解帝国的数据库结构,网上关于这个的文章很多,了解之后会发现,帝国存在新闻内容在两个表ph_ecms_news和 ph_ecms_news_data_1中,帝国的ph_ecms_news存储新闻除文章正文外的所有信息,ph_ecms_news_data_1存储新闻正文,然后通过id进行关联,文章的URL地址由ph_ecms_news的两个字段newspath和filename构成,所以这两个字段不能完全一样.

现在要做的就是用sql语句按照帝国的要求把数据正确的插入到数据库中就行了.

新建数据发布模块,内容如下:

  1. INSERT INTO `xianti360`.`ph_ecms_news` (`id`, `classid`, `onclick`, `newspath`, `keyboard`, `keyid`, `userid`, `username`, `ztid`, `checked`, `istop`, `truetime`, `ismember`, `dokey`, `userfen`, `isgood`, `titlefont`, `titleurl`, `filename`, `groupid`, `newstempid`, `plnum`, `firsttitle`, `isqf`, `totaldown`, `title`, `newstime`, `titlepic`, `closepl`, `havehtml`, `lastdotime`, `haveaddfen`, `infopfen`, `infopfennum`, `votenum`, `ftitle`, `smalltext`, `diggtop`, `stb`, `copyids`, `ttid`, `infotags`, `ispic`) VALUES (NULL, ’1′, ’0′, ’2013-2-26′, ‘[标签:标题]‘, ”, ’1′, ‘admin’, ”, ’1′, ’0′, ’0′, ’0′, ’0′, ’0′, ’0′, ”, ”, ’1′, ’0′, ’0′, ’0′, ’0′, ’0′, ’0′, ‘[标签:标题]‘, ’0′, ”, ’0′, ’0′, ’0′, ’0′, ’0′, ’0′, ’0′, ”, ‘[标签:摘要]‘, ’0′, ’1′, ”, ’0′, ”, ’0′)  --phpfensi.com 
  2. update `xianti360`.`ph_ecms_news` set filename = @@IDENTITY where id = @@IDENTITY 
  3. INSERT INTO `xianti360`.`ph_ecms_news_data_1` (`id`, `classid`, `writer`, `befrom`, `newstext`) VALUES (@@IDENTITY, ’1′, ”, ”, ‘[标签:内容]‘); 

其中@@IDENTITY是获得最新插入的数据库的记录的ID号,通过@@IDENTITY可以实现ph_ecms_news和 ph_ecms_news_data_1的关联,同时利用@@IDENTITY的唯一性,实现了文章的URL地址,由ph_ecms_news的两个字段 newspath和filename构成,的唯一性.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论