【问题标题】:Why does it not orderby = date?为什么它不是orderby = date?
【发布时间】:2012-01-04 14:07:05
【问题描述】:

后端中,我以24-12-2011这种格式为几个内容元素填写了日期字段。
在typo3 的数据库中,日期值如下所示:1293836400

我想以日期为条件渲染一些内容..

10 < styles.content.getLeft
10 {
  select {
    orderby = date
    pidInList.field = uid
  }
}

好吧好吧..这很好。我看到内容元素都很酷。 但是后来我很好奇当我更改包含这些内容元素的页面的位置时它是否仍然有效。

在页面树之前:

page200 的内容元素的日期为 2011 年 1 月 1 日
page201,内容元素的日期为 2011 年 1 月 2 日
page202,内容元素的日期为 2011 年 1 月 3 日
page203,内容元素的日期为 2011 年 1 月 4 日

前端输出: 日期为 1-1-2011 的内容元素,日期为 1-2-2011 的内容元素,日期为 1-3-2011 的内容元素,日期为 1-4-2011 的内容元素

AFTER(改变后端页面的位置)Pagetree:

page202 的内容元素的日期为 2011 年 1 月 3 日
page201 的内容元素的日期为 1-2-2011
page200 的内容元素的日期为 1-1-2011
page203,内容元素的日期为 2011 年 1 月 4 日

前端输出: 日期为 1-3-2011 的内容元素,日期为 1-2-2011 的内容元素,日期为 1-1-2011 的内容元素,日期为 1- 的内容元素4-2011(它改变了!)


所以它改变了我前端输出中的位置。但这无关紧要,因为我声明:“orderby = date(!)”而不是“orderby = 排序”。那么为什么是按顺序排序呢?没看懂。。

【问题讨论】:

    标签: database date content-management-system typo3 typoscript


    【解决方案1】:

    orderBy 中的字段未转义。由于date是MySQL中的一个函数,你必须自己转义:

    10 < styles.content.getLeft
    10 {
      select {
        orderby = `date`
        pidInList.field = uid
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 2017-01-12
      • 1970-01-01
      相关资源
      最近更新 更多