【问题标题】:Get the timestamp of last modification of TYPO3 page, difference between tstamp and SYS_LASTCHANGED获取TYPO3页面最后修改的时间戳,tstamp和SYS_LASTCHANGED的区别
【发布时间】:2013-02-11 16:58:26
【问题描述】:

获取 TYPO3 页面(及其 *tt_content*)的最后修改日期的正确方法是什么?

pages 表的属性中有 2 个字段:tstamp 和 SYS_LASTCHANGED。

在这个article SYS_LASTCHANGED 被推荐。但是在这种情况下 tstamp 的作用是什么?

我们应该使用哪一个?

【问题讨论】:

    标签: typo3 last-modified


    【解决方案1】:

    tstamp 是页面记录本身的修改时间。 SYS_LASTCHANGED 是页面或其内容的修改时间。一旦页面在前端呈现,它就会更新,而不是在后端更改之后。但是,由于这一点,它还包括对驻留在不同页面上的内容记录的更改,并使用“插入记录”内容元素插入到给定页面中。

    注意:在 TYPO3 4.5 LTS 中测试,可能无法在以后的版本中使用。

    【讨论】:

    • 经过一些试验后,我改变了几次想法。
    • tstamp 不是页面的修改时间,而不是其内容的修改时间。我猜你错过了更新你的第一句话:)
    • @maholtz:这是我最初的想法,但在我的 TYPO3 4.5.22 的实验安装中,修改 content record 会更新 tstamp 页面记录也是如此。我自己有点惊讶,因为在这个问题之前,我认为页面的 tstamp 只有在页面记录本身被修改时才会被修改。
    • @maholtz:谜团解开了。添加此行为的是 dd_googlesitemap 扩展。那你是对的。我要改变我的答案。
    • 感谢您的调查!
    【解决方案2】:

    tstamp 是页表中存储的数据最后一次更改的日期和时间。它仅在页面属性更改时更新,而不是页面内容。

    SYS_LASTCHANGED 通常被称为页面的真正最后更新,包括其内容,但这似乎根本不是真的,也不值得信赖。我不知道究竟是什么触发了它的变化,但它似乎与页面渲染有关。更奇怪的是,它可能是 0 在已经渲染的页面上。我的建议是永远不要依赖SYS_LASTCHANGED

    目前我们获取显示页面的最后更改的方法如下:
    我们将<time date-current="{data.tstamp}"><time> 添加到我们的自定义Contents/Partials/Header/All.html(您需要覆盖fluid-styled-content-elements)和我们的页面模板中。然后一个 java 脚本会找出最新的变化并将 html 插入页面,显示最后的变化。

    【讨论】:

      【解决方案3】:

      字段 SYS_LASTCHANGED 仅在页面呈现后在前端中更新。

      • 在站点地图中检查 lastmod
      • 编辑页面上的内容元素
      • 前端调用页面
      • 再次查看站点地图

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 2020-02-21
        • 1970-01-01
        • 1970-01-01
        • 2011-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-02
        相关资源
        最近更新 更多