Typo3 Gridelements数据处理:将参数传递给扩展名(ctype=list)
在数据处理中使用gridelements对所有默认内容元素都很有效。 但是如果我包含自己的一个扩展,那么控制器的参数就会丢失。因此,内容元素呈现,但使用默认操作列表和默认模板 为了复制,我使用了著名的新闻分机: 静态模板包括: 消息 网格元素 我的网站包 “我的网站”包的网格渲染定义部分: 流体渲染是my_site_软件包的一部分: 插件集成后端: 控制器操作:显示 如果未放置在gridelement中,则生成前端: 新闻插件正确呈现并调用showAction 如果放置在gridelement中,则生成前端: 新闻插件得到渲染,但返回到默认列表操作。此外,my_site_包中的模板设置也会被忽略。使用默认的新闻模板。Typo3 Gridelements数据处理:将参数传递给扩展名(ctype=list),typo3,typo3-9.x,tx-news,typo3-extensions,tx-gridelements,Typo3,Typo3 9.x,Tx News,Typo3 Extensions,Tx Gridelements,在数据处理中使用gridelements对所有默认内容元素都很有效。 但是如果我包含自己的一个扩展,那么控制器的参数就会丢失。因此,内容元素呈现,但使用默认操作列表和默认模板 为了复制,我使用了著名的新闻分机: 静态模板包括: 消息 网格元素 我的网站包 “我的网站”包的网格渲染定义部分: 流体渲染是my_site_软件包的一部分: 插件集成后端: 控制器操作:显示 如果未放置在gridelement中,则生成前端: 新闻插件正确呈现并调用showAction 如果放置在gridelement中
我在这里遗漏了什么还是这是一个bug?这不是bug,而是前端模板中缺少的一个功能,您必须自己实现 Gridelements只提供了一些基本的示例模板,可以直接使用核心元素。一旦涉及到任何特定于插件的数据,您就必须提供这些数据,因为Gridelements无法知道您将要使用哪个插件以及要提供哪些参数
只需在sitepackage设置中注册您自己的模板、分区和布局,这样Gridelements就可以在返回到自己的文件之前使用它们。只需再次查看问题,解决方案实际上可能是其他的: 您应该在Gridelements配置中禁用resolveFlexformData,以避免在呈现网格子级时处理XML数据
谢谢对不起,我想,我不够清楚。扩展有自己的模板,如果未放置在网格元素中,则可以正确渲染。如果我将它移动到网格中,它将不再被渲染。我想,这和静态包含的顺序有关。如果gridelements包含在sitepackage之前,则它不遵守sitepackage中定义的模板路径,并返回到原始ext模板。我将不得不深入研究这个问题,或者切换回老派的ts定义。尝试将table=tt_内容添加到f:cObject Viewhelper调用中。如果有效,请在
mySitePackage.gridelements.defaultGridSetup < lib.gridelements.defaultGridSetup
mySitePackage.gridelements.defaultGridSetup {
templateName.field = tx_gridelements_backend_layout
templateName.ifEmpty = default
layoutRootPaths {
10 = EXT:gridelements/Resources/Private/Layouts/
20 = EXT:my_site_package/Resources/Private/Layouts/Gridelements/
}
partialRootPaths {
10 = EXT:gridelements/Resources/Private/Partials/
20 = EXT:my_site_package/Resources/Private/Partials/Gridelements/
}
templateRootPaths {
10 = EXT:gridelements/Resources/Private/Templates/
20 = EXT:my_site_package/Resources/Private/Templates/Gridelements/
}
dataProcessing {
10 = GridElementsTeam\Gridelements\DataProcessing\GridChildrenProcessor
10 {
default {
as = children
}
}
}
}
<f:for each="{children}" as="row" key="rowNumber">
<f:for each="{row}" as="column" key="columnNumber">
<f:for each="{column}" as="child">
<f:cObject typoscriptObjectPath="tt_content.{child.data.CType}" data="{child.data}" table="tt_content" />
</f:for>
</f:for>
</f:for>