网站文章自动采集发布(第二步,后台执行SQL语句SELECT(FROMdede)_)
优采云 发布时间: 2021-10-20 12:01网站文章自动采集发布(第二步,后台执行SQL语句SELECT(FROMdede)_)
第二步 后台执行SQL语句 SELECT * FROM dede_archives order by id DESC limit 1
这样就可以看到刚刚添加的文章的所有字段值。
观察以下数据:
pubdate:1231846313
senddate:1231846313
sortrank:1231846313
其中,1231846313为时间数据。
然后它被替换。
UPDATE dede_archives SET sortrank = 1231846313;
UPDATE dede_archives SET senddate = 1231846313;
UPDATE dede_archives SET pubdate = 1231846313;
首先,你看到第一句话应该就可以通过他了。先说一下这个方法的问题(注意:这种SQL语句执行,或者需要修改数据库必须先备份数据库)。
对应数据库的dede_archives表,请根据您的实际情况更改前缀。
此表中有三个字段表示时间:
pubdate:发布时间(前台可更改)
senddate:存储时间
sortrank:前台调用最新的文章。实际利用这个时间。
这一段说的没问题,我再详细说明一下:
1.pubdate:发布时间(前台可更改)
发布新的文章或编辑文章时,可以在高级参数中看到,可以更改。也是在内容页和列表页调用系统的时间。当发布时间为1970时,列表页面会显示1970-01-01,文章页面获取的发布时间为“Nothing”。当然,这以dede默认模板为准。如果你修改它,它可能会有其他结果。例如:我的待审核文章审核发布时会自动更新为当前系统时间(如果未设置,见德德cms未审核文档自动更新发布时间)
2.senddate:存储时间
从字面意思可以理解,但是所谓的存储时间体现在哪里呢?是dede后端文件列表中的“进入时间”。dede后端理论上是不能修改的,但实际中也可以通过SQL语句修改,没有实际意义。如果你的 文章 命名规则是“{typedir}/{Y}/{M}{D}/{aid}.html”,那么在你的 文章 页面的 URL 中也直观地提到了。
3.sortrank:前台调用最新的文章。实际利用这个时间。
这个时候我们一般是看不到的,但是如果前端模板设置为“orderby='public',系统会根据这个时间来调用。很多讲只是强调这些细节,可以考虑作为原则。
其次要明白,即使是优采云采集,或者dede采集,pubdate、senddate、sortrank这三个时间也不能完全一样,所以有问题在这里,但它是无害的。,最后就是这个方案是修改整个系统的数据库pubdate、senddate、sortrank三个时间段,也就是说从你发的第一个文章到最后一个change 现在是你修改的时候了。我第一次修改后,整个网站的文章在3月19日发布,可以说几乎是乱七八糟的。这个大家应该都能理解。所以我说备份很重要,转载这个文章的人真是害人。我不认为这种方法是可取的,而且它'
二、1970 的正确解法
优采云采集 发布时唯一不能出错的就是系统进入时间。因此,我们以此为标准,将public和sortrank时间改为senddate(语句下,先备份,后操作)。同时,经过对网站采集的更多考虑,有些文章的发布时间和存储时间有很大的区别吗?比如3-19采集有很多文章,发布待审核,每天通过插件控件自动更新。更新仅在4-19完成。如果执行两条命令,最晚审核的文章也会在3-19号发布,但是你可以选择只执行一条命令。)
如果你不介意我上面说的,如果你真的需要解决1970问题,在dede background-system-sql命令行工具中,执行如下命令:
UPDATE dede_archives SET sortrank = senddate ;
该命令是将前台呼叫时间更改为存储时间。如果你是我上面提到的那种,就不要执行了。至于1970年会不会有其他影响,你自己决定吧
UPDATE dede_archives SET pubdate = senddate ;
这个命令是把发布时间改成存储时间,就不解释了,上面都说了。