2016-07-28 5 views
0

Я использую TYPO3 7.6 с последней Flux -, VHS - и Fluidcontent Extensions (FluidTYPO3). Я написал новый элемент FLUX-Content Element, Tab-Container от Zurb Foundation 6. Элемент работает отлично (frontend), но у бэкэнд у меня есть строка с моими вкладками, а также столбцами .. sth. будет публиковать мои вкладки и содержимое внутри ?! Уже очищенный кэш.FluidTYPO3 dublicated модули Содержимое флюсом сетки в TYPO3 Backend

Вот скриншот. Tab-Elements будет дублироваться, я не знаю, почему?

dublicated content elements typo3 backend

Мои 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

Это проблема:

<flux:widget.grid /> 

По Release Notes of flux 7.2:

Просмотр Widg et заменено

Мы заменили способ, с помощью которого Flux генерирует превью, когда задействована сетка . Ранее Flux отображал Grid из шаблона Fluid , что означает, что шаблон должен быть проанализирован (или загружен с скомпилированным кешем), а затем визуализирован, что связано с значительным количеством обработки . Области контейнера элементов контента теперь отображаются специальным классом вида , что значительно увеличивает производительность при работе с несколькими вложенными элементами.

Новое поведение:

  • Визуализирует сетки в качестве элемента контейнера содержимого в модуле страницы, если ваш шаблон определяет один, независимо от того, или нет у вас Preview раздел.

  • Устаревший флюс: widget.grid, который больше не имеет функции.

  • Удаляет всю опору для установки шаблона Fluid, используемого для визуализации сетки .

В основном, мы жертвуем редко используемую замену шаблона функции для повышения производительности в очень часто исполняемом коде.

Для этого просто удалите полностью Предварительный просмотр раздел из шаблона.

+0

Спасибо виктор, я могу изменить его на следующей неделе, но вы будете правы. Я полностью не читаю заметки о выпуске;) Большое спасибо. Хороших выходных! - stefan – user2310852

0

Спасибо, Виктор.

Необходимо удалить всеflux.grid -материал из шаблона yout. Весь раздел предварительного просмотра и некоторые сетки/строки в разделе конфигурации.

Это правильная закладка-шаблон для flux и zurb 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> 
+0

Приведенный выше код будет работать, но должен прийти с крошечным предупреждением: использование 'flux: form.content' является * сокращенным методом написания' flux: grid' с одним 'flux: grid.row' и одним' flux : grid.column', где столбец получает «имя», используемое для 'flux: form.content' *. Так, другими словами, приведенный выше код генерирует множество решеток внутри, а не создает несколько столбцов в одной сетке. Эффективно он отображает те же самые, но другие варианты использования, пытающиеся скопировать этот подход, могут найти проблемы, например. сохраняется только последний столбец содержимого. –