Typo3 Gridelements数据处理:将参数传递给扩展名(ctype=list)

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中

在数据处理中使用gridelements对所有默认内容元素都很有效。 但是如果我包含自己的一个扩展,那么控制器的参数就会丢失。因此,内容元素呈现,但使用默认操作列表和默认模板

为了复制,我使用了著名的新闻分机:

静态模板包括:

消息 网格元素 我的网站包 “我的网站”包的网格渲染定义部分:

流体渲染是my_site_软件包的一部分:

插件集成后端:

控制器操作:显示 如果未放置在gridelement中,则生成前端:

新闻插件正确呈现并调用showAction 如果放置在gridelement中,则生成前端:

新闻插件得到渲染,但返回到默认列表操作。此外,my_site_包中的模板设置也会被忽略。使用默认的新闻模板。
我在这里遗漏了什么还是这是一个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>