帝國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語句按照帝國的要求把數據正確的插入到數據庫中就行了.
新建數據發布模塊,內容如下:
- 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′) --Vevb.com
- update `xianti360`.`ph_ecms_news` set filename = @@IDENTITY where id = @@IDENTITY
- 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構成,的唯一性.
新聞熱點
疑難解答