2

正如TYPO3 wiki 上提到的,我们可以使用 TypoScript 进行查询:

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 73
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

对我来说不方便的是参数pidInList。即使我们没有使用它,脚本也会在查询中用 pid替换当前页面 id 。有没有办法让它更简单,例如,实现这样简单的查询:

select title from pages where uid=100;

什么是最简单的 TypoScript 等价物?

4

2 回答 2

4

据我所知pidInList是必需的。解决方法是将其设置为“0”并使用该recursive属性。

page.60 = CONTENT
page.60 {
   table = tt_content
   select {
       pidInList = 0
       recursive = 99
       where = header != ###whatever###
       orderBy = ###sortfield###
       markers {
         whatever.data = GP:first
         sortfield.value = sor
         sortfield.wrap = |ting
       }
   }
}

注意:如果您担心性能影响并且您纯粹通过其 UID 选择记录,请考虑改用该RECORDS对象。

于 2012-05-09T15:36:16.620 回答
1

对于您的示例:

SELECT title FROM pages WHERE uid=100;

最简单的 TypoScript 等价物是:

page.60 = RECORDS
page.60 {
    tables = pages
    source = 100
    dontCheckPid  = 1
    conf.pages = TEXT
    conf.pages.field = title
    }

请注意,该source参数是必需的。对于更灵活的查询,我建议编写一个快速的userFunc

于 2012-05-09T21:43:00.723 回答