我在所有页面上通过typoscript获取自定义内容元素时遇到一些问题 . 我创建了一个没有任何扩展名的自定义元素(如mask或dce)所以我只使用TYPO3核心功能 . 这个元素是一个简单的东西,只是使用不可用于创建在前端显示的不同框 .
tt_content.box = COA
tt_content.box {
10 = FLUIDTEMPLATE
10 {
file = EXT:xxx_elements/Resources/Private/Templates/Box.html
partialRootPath = EXT:xxx_setup/Resources/Private/Content/Partials
layoutRootPath = EXT:xxx_setup/Resources/Private/Content/Layouts
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\DatabaseQueryProcessor
10 {
table = tx_xxxelements_box
orderBy = sorting
where {
data = field:uid
intval = 1
wrap = tt_content=|
}
as = boxitems
}
}
}
}
用普通液体渲染
<f:for each="{boxitems}" as="boxitem">
<boxitem.header>...
</f:for>
所以一切正常,只要我将它用作放置在页面上的常规内容元素 . 现在我将一个元素放入存储文件夹并尝试通过typoscript在所有页面上重用此元素,其中10是内容元素的ID
lib.SubFooter = COA
lib.SubFooter {
10 = RECORDS
10 {
tables = tt_content
source = 10
}
}
lib被渲染正确,但所有页面上的“boxitems”数组都是空的:-(
现在有趣的部分:如果我在页面上放置ID为10的元素,则会为元素和lib填充boxitems数组...
以下是针对不同情况的变量转储的图像:element, lib, element+lib
2 回答
不幸的是,我找不到令人满意的解决方案 . 最后,我将内容元素构建为普通元素而不是IRRE,然后与typoscript的集成按预期工作 .
也许你错过了pid ;-)
在这种情况下你可以简化我的意见where子句:
因为你不能与外面的变种相匹配