我們在用火車頭采集的時候,一般很少有人采集文檔的發布時間,基本都是采集了直接發布,所以今天我遇到一個問題,就是采集好的內容發布到dede后,看到系統入庫時間為3-19,正常,但是在文章頁顯示的時間為:暫無,列表頁顯示時間為1970-01-01,確實看著很不舒服,也不知道這個會不會對程序產生其他影響,初步猜測是在火車頭的發布模塊出了問題。
還是原來的思維,能解決的話,盡量解決下,網上找教程。也真不太好找,找到的都是dede采集之內的,火車頭采集雖然也是采集,但跟dede采集卻又不一樣,后來找到這樣一個,先寫在這,大家看到了一定不要嘗試,否則你會后悔的。如果你只想知道如何解決1970的問題的話,這幾段都可以略過。但希望你懂得他是如何實現的。
一、錯誤解決方案剖析
首先在phpMyAdmin查看dede_archives這個表的sortrank和pubdate的一個值,你的時間是1970-01-01 00:00:00他的值就是28800好像這個..你自己查看看,改現在現在的時間比如2009-08-13 00:00:00
的值就是1250150400
那么你在后臺dede_archives這個表的sortrank和pubdate 把28800替換1250150400 搞定...
批量替換發布時間,入庫時間,更新時間的方法。
首先要知道一個文章有三個時間。
對應的是數據庫的dede_archives表,請根據你的實際情況更換前綴。
這個表里有三個表示時間的字段:
pubdate:發布時間(前臺可更改)
senddate:入庫時間
sortrank:前臺調用最新文章。實際上是用這個時間。
我采集的文章不知道什么原因,入庫后都是2021年的。后面手工增加的2009年的文章。
在首頁等地方用pubdate排序方式都只能調出采集的2021年文章,
通過PHPMYADMIN查看發現有以上三個字段。
注意:里面的數值不是直觀的。
如不是2009-01-13 14:13:32而是1231846313
所以我們在批量替換的時候要這么做。
第一步。在后臺新增一個文章。
得到一個時間,比如2009-01-13 14:13:32,這可以通過管理文章那里看到。
第二步,后臺執行SQL語句SELECT * FROM dede_archives order by id DESC limit 1
這樣你可以看到你剛才新加加的文章一所有字段值。