使用 Fluid DatabaseQueryProcessor 查找记录——没有 PID
Look up a record with Fluid DatabaseQueryProcessor – without PID
在 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 或添加当前页面的 pid。所以它的行为就像一个 CONTENT
Object.
如何在查询中省略 PID?
我可以 google 的所有答案都指向简单地使用 RECORDS
– 但我不明白我如何在 dataProcessing
中做到这一点。
有办法吗?
PS 更大规模:我想使用 fluid_styled_content 的 "Insert Records" 内容元素将其他(=不是来自 fsc)自定义记录类型插入当前页。我正在尝试建立自己的方法来做到这一点。请告诉我这是否没有意义和/或是否有比从头开始构建一切更简单的方法。
据我所知,dataProcessing
仅适用于当前需要填写的 $data
变量,例如通过 CONTENT
对象。
CONTENT
对象使用select
函数获取is数据,因此你必须使用它的pidInList
属性来配置考虑的页面范围.没有页面的记录应该位于 root (pid=0)
中,并且可以通过 root
关键字选择。
如果您想创建 Insert Records
功能,那么您的记录中应该已经有一个 uid
列表。然后你可以简单地使用 RECORDS
对象来呈现特定的记录,无论它在什么页面上。
在 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 或添加当前页面的 pid。所以它的行为就像一个 CONTENT
Object.
如何在查询中省略 PID?
我可以 google 的所有答案都指向简单地使用 RECORDS
– 但我不明白我如何在 dataProcessing
中做到这一点。
有办法吗?
PS 更大规模:我想使用 fluid_styled_content 的 "Insert Records" 内容元素将其他(=不是来自 fsc)自定义记录类型插入当前页。我正在尝试建立自己的方法来做到这一点。请告诉我这是否没有意义和/或是否有比从头开始构建一切更简单的方法。
据我所知,dataProcessing
仅适用于当前需要填写的 $data
变量,例如通过 CONTENT
对象。
CONTENT
对象使用select
函数获取is数据,因此你必须使用它的pidInList
属性来配置考虑的页面范围.没有页面的记录应该位于 root (pid=0)
中,并且可以通过 root
关键字选择。
如果您想创建 Insert Records
功能,那么您的记录中应该已经有一个 uid
列表。然后你可以简单地使用 RECORDS
对象来呈现特定的记录,无论它在什么页面上。