网站文章自动采集发布(第二步,后台执行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 ;

  这个命令是把发布时间改成存储时间,就不解释了,上面都说了。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线