Typo3,Typoscript。上次发布的工作空间的输出时间戳

时间:2015-09-03 12:43:33

标签: typo3 typoscript

我设置了一个带工作空间的TYPO3 6.2。所有内容都在暂存工作区中更改并一起发布。 现在我想在每个页面上找到像“最后更改:”这样的标签。

我不想更改页面的日期,而是上次发布工作区编辑的日期。

我有类似的东西:

$(function(){
    $("input:file").change(addAdditionalField);
});

我几乎被困在这里。前端没有呈现内容。我得到了跨度,但是括号和它们的内容都没有了。

我试图找到示例,因为文档并不是新写的。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您要查找的值存储在字段t3ver_tstamp中的每个工作空间感知表中,作为unix时间戳。只有在发布数据或交换"这是一个特殊的发布过程时,才会更新此字段。

不幸的是,从sys_log表中选择的方法不起作用,因为相关的有效负载在字段log_data中是PHP序列化的,例如, a:2:{i:0;s:4:"Test";i:1;s:7:"pages:1";}(在此示例中使用uid pages指向表1。)

据我了解,您希望检索特定页面上的任何记录从草稿工作区发布到实时工作空间的最后时间点 - 这意味着要为任何记录选择任何记录的最大unix时间戳表指向该特定页面。不幸的是,这不适用于普通的TypoScript,因此你必须实现一个用PHP实现的服务。

鉴于您要显示ID为123且需要执行以下任务的页面的上次发布日期:

  • SELECT t3ver_tstamp FROM pages WHERE uid=123...
  • foreach (array_keys($GLOBALS['TCA']) as $tableName)
    • SELECT MAX(t3ver_tstamp) FROM $tableName WHERE pid=123 AND t3ver_wsid=0...
  • 从上面
  • 确定PHP中的最大时间戳