1

在 TYPO3 7.6 中,我想从 Fluidtemplate 中的另一个(=任何)页面查找记录。

基于https://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Fluidtemplate/Index.html,我尝试了DatabaseQueryProcessor

  renderObj = FLUIDTEMPLATE
  renderObj {
    file = {$fluidPartialsPath}/Debug.html
    dataProcessing {
      20 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
      20{
        # regular if syntax
        if.isTrue.field = records

        table = tt_content
        # quick&dirty to see the SQL table
        # where = stubrdebug

        # will pass these in programmatically later
        colPos = 1
        uidInList = 5
        # this doesn't work
        pidInList = *

        as = myrecords

        dataProcessing {
          10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
          10 {
            references.fieldName = image
          }
        }
      }

    }
  }

问题是 select 总是要求一个 pid 或添加当前页面之一。所以它的行为就像一个CONTENT对象。

如何在查询中省略 PID?

我可以用谷歌搜索的所有答案都指向简单地使用RECORDS——但我不知道我怎么能在dataProcessing. 有办法吗?

更大规模的 PS:我想使用 fluid_styled_content 的“插入记录”内容元素将其他(=不是来自 fsc)自定义记录类型插入当前页面。我正在尝试建立一种自己的方式来做到这一点。请告诉我这是否没有意义和/或是否有比从头开始构建所有内容更简单的方法。

4

1 回答 1

2

据我所知,仅适用于需要之前填写dataProcessing的当前变量,例如通过对象。$dataCONTENT

CONTENT对象使用该select函数获取数据,因此您必须使用其pidInList属性来配置考虑的页面范围。没有页面的记录应该存在root (pid=0)并且可以通过root关键字来选择。

如果你想创建一个Insert Records功能,那么你应该已经有一个uid来自你的记录的列表。然后,您可以简单地使用该RECORDS对象来呈现特定记录,无论它在哪个页面上。

于 2016-03-20T09:00:10.787 回答