FluidTYPO3在TYPO3后端使用Flux Grid复制了内容模块

时间:2016-07-28 10:50:44

标签: grid typo3 flux fluid typo3-7.6.x

我正在使用TYPO3 7.6与最新的Flux - ,VHS - 和Fluidcontent扩展程序(FluidTYPO3)。我写了一个新的FLUX-Content元素,一个来自Zurb Foundation 6的Tab-Container。 该元素工作正常(前端),但在后端我有一行与我的标签和列.. sth。会公开我的标签和里面的内容吗?!已经清除缓存。

这是截图。 Tab-Elements将被公开,我不知道为什么?

dublicated content elements typo3 backend

My FLUX FCE:

<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
    xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
    xmlns:flux="http://typo3.org/ns/FluidTYPO3/Flux/ViewHelpers"
    xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">

    <f:layout name="Content" />

    <f:section name="Configuration">
        <flux:form id="tabs" options="{group: 'LLL:typo3conf/ext/myelements/Resources/Private/Language/locallang.xlf:grid.elements'}">

            <flux:form.sheet name="tabs">
                <flux:form.section name="tabs">
                    <flux:form.object name="tab">

                        <flux:field.input name="title" />
                        <flux:field.input name="class" />
                        <flux:field.checkbox name="active" />

                    </flux:form.object>
                </flux:form.section>
            </flux:form.sheet>

            <flux:grid>
                <flux:grid.row>
                    <f:if condition="{tabs}">
                        <f:for each="{tabs}" as="tab" iteration="iteration">
                                <flux:form.content name="content.{iteration.index}" label="Tab {iteration.cycle}" />
                        </f:for>
                    </f:if>
                </flux:grid.row>
            </flux:grid>

        </flux:form>
    </f:section>



    <f:section name="Preview">
        <flux:widget.grid />
    </f:section>



    <f:section name="Main">

        <f:render section="Tabs" arguments="{_all}" />

        <div class="tabs-content" data-tabs-content="tabs-{record.uid}">
            <f:if condition="{tabs}">
                <f:for each="{tabs}" as="tab" iteration="iteration">
                    <div class="tabs-panel {f:if(condition: '{tab.tab.active} == 1', then: 'is-active')}" id="panel-{record.uid}-{iteration.index}">
                        <flux:content.render area="content.{iteration.index}" />
                    </div>
                </f:for>
            </f:if>
        </div>

    </f:section>



    <f:section name="Tabs">

        <f:if condition="{tabs}">

            <ul class="tabs" data-tabs id="tabs-{record.uid}">
                <f:for each="{tabs}" as="tab" iteration="iteration">
                    <li class="tabs-title {f:if(condition: '{tab.tab.active} == 1', then: 'is-active')}">
                        <a href="#panel-{record.uid}-{iteration.index}" aria-selected="true">{tab.tab.title}</a>
                    </li>
                </f:for>
            </ul>

        </f:if>

    </f:section>

</div>

2 个答案:

答案 0 :(得分:2)

这是问题所在:

<flux:widget.grid />

根据Release Notes of flux 7.2

  

预览小工具已取代

     

我们已经取代了当网格出现时Flux生成预览的方式   参与其中。之前,Flux将从Fluid模板渲染网格   文件,这意味着必须解析(或从中加载模板)   编译缓存)然后渲染,涉及大量的   处理。内容元素容器区域现在由a呈现   特殊的View类,在工作时显着提高性能   有多个嵌套元素。

     

新行为:

     
      
  • 如果您的网站模块中将网格呈现为内容元素容器   模板定义一个,无论您是否有预览   部分。

  •   
  • 弃用flux:widget.grid ,它不再具有任何功能。

  •   
  • 删除用于设置用于渲染的Fluid模板的所有支持   网格。

  •   
     

基本上,我们牺牲了很少使用的模板替代品   在非常频繁执行的代码中提高性能的功能。

因此,只需从模板中删除完整的预览部分。

答案 1 :(得分:0)

谢谢Viktor。

有必要从yout模板中删除所有 flux.grid - 内容。 整个预览部分和配置部分的一些网格/行。

这是fluxzurb foundation的正确标签模板:

<div xmlns="http://www.w3.org/1999/xhtml" lang="en"
    xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
    xmlns:flux="http://typo3.org/ns/FluidTYPO3/Flux/ViewHelpers"
    xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">

    <f:layout name="Content" />

    <f:section name="Configuration">
        <flux:form id="Tabs" options="{group: 'LLL:typo3conf/ext/customerproject/Resources/Private/Language/locallang.xlf:grid.elements'}">

            <flux:form.sheet name="tabs">
                <flux:form.section name="tabs">
                    <flux:form.object name="tab">

                        <flux:field.input name="title" />
                        <flux:field.input name="class" />
                        <flux:field.checkbox name="active" />

                    </flux:form.object>
                </flux:form.section>
            </flux:form.sheet>


            <f:if condition="{tabs}">
                <f:for each="{tabs}" as="tab" iteration="iteration">
                        <flux:form.content name="content.{iteration.index}" label="Tab {iteration.cycle}" />
                </f:for>
            </f:if>


        </flux:form>
    </f:section>






    <f:section name="Main">
        <div class="flux grid01Tabs">

            <f:render section="Tabs" arguments="{_all}" />

            <div class="tabs-content" data-tabs-content="tabs-{record.uid}">
                <f:if condition="{tabs}">
                    <f:for each="{tabs}" as="tab" iteration="iteration">
                        <div class="tabs-panel {f:if(condition: '{tab.tab.active} == 1', then: 'is-active')}" id="panel-{record.uid}-{iteration.index}">
                            <flux:content.render area="content.{iteration.index}" />
                        </div>
                    </f:for>
                </f:if>
            </div>

        </div><!-- / tabWrap -->
    </f:section>



    <f:section name="Tabs">

        <f:if condition="{tabs}">

            <ul class="tabs" data-tabs id="tabs-{record.uid}">
                <f:for each="{tabs}" as="tab" iteration="iteration">
                    <li class="tabs-title {f:if(condition: '{tab.tab.active} == 1', then: 'is-active')}">
                        <a href="#panel-{record.uid}-{iteration.index}" aria-selected="true">{tab.tab.title}</a>
                    </li>
                </f:for>
            </ul>

        </f:if>

    </f:section>

</div>