Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 类型3-如何在网格元素中显示表单?_Forms_Typo3_Typo3 10.x_Tx Gridelements - Fatal编程技术网

Forms 类型3-如何在网格元素中显示表单?

Forms 类型3-如何在网格元素中显示表单?,forms,typo3,typo3-10.x,tx-gridelements,Forms,Typo3,Typo3 10.x,Tx Gridelements,我将TYPO3 v10.4.8与扩展gridelements和核心表单扩展一起使用。我已经在后端将表单包含到我创建的网格元素中,但它在前端不可见。这是我的网格模板的一部分: <f:if condition="{children}"> <f:for each="{children}" as="columns" key="rowNumber"> <div class=

我将TYPO3 v10.4.8与扩展gridelements和核心表单扩展一起使用。我已经在后端将表单包含到我创建的网格元素中,但它在前端不可见。这是我的网格模板的一部分:

<f:if condition="{children}">
    <f:for each="{children}" as="columns" key="rowNumber">
        <div class="row grid-row grid-row-{rowNumber}">
            <f:if condition="{columns}">
                <f:for each="{columns}" as="column" key="columnNumber">
                    <div class="col-12 grid-column grid-column-{columnNumber}">
                        <f:for each="{column}" as="child">
                            <div class="inner">
                                <f:cObject typoscriptObjectPath="tt_content.{child.data.CType}" data="{child.data}" table="tt_content" />
                            </div>
                        </f:for>
                    </div>
                </f:for>
            </f:if>
        </div>
    </f:for>
</f:if>

我的配置:

lib.gridelements.defaultGridSetup =< lib.contentElement
lib.gridelements.defaultGridSetup {
    templateName.field = tx_gridelements_backend_layout
    templateName.ifEmpty = GridElement
  layoutRootPaths {
    10 = EXT:gridelements/Resources/Private/Layouts/
    20 = {$page.fluidtemplate.templateRootPath}
  }
  partialRootPaths {
    10 = EXT:gridelements/Resources/Private/Partials/
    20 = {$page.fluidtemplate.templateRootPath}
  }
  templateRootPaths {
    10 = EXT:gridelements/Resources/Private/Templates/
    20 = {$page.fluidtemplate.templateRootPath}
  }
  dataProcessing {
    10 = GridElementsTeam\Gridelements\DataProcessing\GridChildrenProcessor
    10 {
      default {
        as = children
        options {
            resolveChildFlexFormData = 0
        }
      }
    }
  }
}
lib.gridelements.defaultGridSetup=

调用核心模块中的
Render.html
文件,但变量
formConfiguration
为空,因此不会呈现任何表单。

由于表单元素使用
pi\u flexform
字段选择表单定义,因此必须禁用Gridelements的自动flexform解析器

默认情况下,带有数据处理的Gridelements意味着通过直接访问变量和设置来呈现流体模板中的所有内容。因此,DataProcessor的默认设置是将FlexForm XML数据解析为数组

要禁用该行为,可以使用选项

resolveFlexFormData = 0
为容器及其子容器禁用它,或

resolveChildFlexFormData = 0

仍然解析容器FlexForms,但跳过子元素的配置。

我按说明更改了配置,但不幸的是表单未显示。请在此处发布配置好吗?我已将配置添加到问题中。参数使用大写字母,因此它是resolveChildFlexFormData,未解析ChildFlexFormData。此外,您应该检查这些设置是否实际到达tt_content.gridelements_pi1,因为lib.gridelements.defaultGridSetup只是一个必须分配给实际tt_内容定义的库。驼峰大小写不是问题,因为我复制了您的解决方案,但在此期间,我一定是在测试期间输入了错误的信息:对此表示抱歉。tt_content.gridelements_pi1中缺少配置,我添加了它,现在它可以工作了。谢谢你的帮助。