Я перехожу от создания пользовательских записей контента с использованием FluidContent к Flux, поскольку FluidContent устарела.Я создаю новые записи контента с нуля, не нужно обновлять старые.У меня есть простые записи контента, которые работают нормально, но у меня есть реальная проблема с созданием блока аккордеона с использованием панелей.
Сценарий
- Я создаю новые панели в форме BE -отлично работает
- Предварительный просмотр BE показывает только первую созданную панель, но повторяется столько раз, сколько панелей сделано в форме.Поэтому, если я добавлю новую запись содержимого в Panel 1, она будет отображаться на всех панелях в предварительном просмотре.
- Вывод FE правильно отображает заголовки панелей, но без содержимого.
Мне интересно, имеет ли это какое-то отношение к итерации в настройке сетки?Панели явно создаются нормально и могут отображаться в FE.Это неправильный процесс циклического перемещения по панелям в сетке, а затем присоединение их к выходу.
Любые мысли или предложения будут приняты с благодарностью.
Большое спасибо, Дэвид
Настройка: - Typo3-8.19 Flux-9.0.1 Fluidpages-4.2.0 VHS-5.0.1
Шаблон 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="bootAccordion" label="Boostrap Accordion" >
<flux:form.option name="icon"
value="EXT:optionslayout/Resources/Public/Icons/Content/Example.gif"
/>
<flux:form.sheet name="panels" label="Pannels">
<flux:form.section name="panels">
<flux:form.object name="panel">
<flux:field.input name="title" label="Panel title"/>
<flux:field.checkbox name="active" label="Start expanded"/>
</flux:form.object>
</flux:form.section>
</flux:form.sheet>
</flux:form>
<flux:grid>
<f:for each="{panels}" as="panel" iteration="iteration">
<flux:grid.row>
<flux:grid.column name="column.{iteration.index}"
colPos="0"
label="{f:if(condition: panel.panel.title,
then: panel.panel.title,
else: 'Panel {iteration.cycle}')}">
</flux:grid.column>
</flux:grid.row>
</f:for>
</flux:grid>
</f:section>
<f:section name="Preview">
</f:section>
<f:section name="Main">
<div id="accordion{record.uid}" class="accordion"
role="tablist" aria-multiselectable="true">
<f:for each="{panels}" as="panel" iteration="iteration">
<div class="card">
<div class="card-header" role="tab"
id="heading{record.uid}-{iteration.index}">
<a data-toggle="collapse" data-accordion="true"
href="#collapse{record.uid}-{iteration.index}"
aria-expanded="true"
aria-controls="collapse{record.uid}-{iteration.index}">
<h5 class="mb-0">
{panel.panel.title}
<i class="fa fa-angle-down rotate-icon float-right"></i>
</h5>
</a>
</div>
<div id="collapse{record.uid}-{iteration.index}"
class="collapse
{f:if(condition: '{panel.panel.active}', then: 'show')}"
role="tabpanel"
aria-labelledby="heading{record.uid}-{iteration.index}"
data-parent="#accordion{record.uid}">
<div class="card-body">
<flux:content.render area="column.{iteration.index}" />
</div>
</div>
</div>
</f:for>
</div>
</f:section>
</div>
BE Вид формы - показывает 2 успешно созданные панели
BE Preview - показывает только первую панель,неправильное повторение
Вывод FE - отображение названий панелей, отображаемых правильно, но без содержимого в пределах