21. 05. 2019, 13:25

Hallo zusammen,

nachdem ich (Anfänger, Typo3 v9.5.7) große Fortschritte mit eigenen Content-Elementen gemacht habe, stoße ich jetzt auf ein mir unerklärliches Problem, dass ich auch nach längerem Googlen und rumprobieren nicht gelöst bekomme.

Was ich erreichen möchte ist, innerhalb eines Contentelements beliebig viele Unterelemente mit ein paar Inhalten zusammenklicken zu können.

Klarer wird vielleicht was ich vorhabe anhand meines total runtergespeckten Test-Elements. Siehe unten.

Grundsätzlich funktioniert es: Ich kann in dem Element im Backend beliebig viele Unterobjekte erzeugen und wenn ich in das flux:field.input unterschiedliche Dinge eintrage, werden diese auch so ausgegeben.
Bei der Checkbox habe ich aber das folgende Problem: Klicke ich im ersten Unterobjekt die Checkbox an, funktioniert diese normal (und wird auch im Frontend ausgegeben). Klicke ich aber in irgendeinem folgenden Unterobjekt die Checkbox an, triggert diese die Checkbox vom vorhergehenden Unterobjekt. Komischerweise betrifft das auch noch nur jedes zweite Unterobjekt. Die Checkboxen in Elementen 2 und 4 triggern also jeweils diese in Unterobjekt 1 und 3. Wenn ich speichere, wird das Ergebnis auch so ausgegeben. Es stimmt also irgendwas im Backend nicht.

Was läuft da schief?
[code]{namespace v=FluidTYPO3\Vhs\ViewHelpers}
{namespace flux=FluidTYPO3\Flux\ViewHelpers}
<f:layout name="Content"/>

<f:section name="Configuration">
<flux:form id="Test"
description="Test"
label="Testobjekt">
<flux:form.option.group value="content"/>

<flux:form.section name="settings.things" label="Things">
<flux:form.object name="entry" label="Einzelnes Ding">
<flux:field.checkbox name="boolean" label="Boolean"/>
<flux:field.input name="label" label="Label" required="true"/>
</flux:form.object>
</flux:form.section>

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

<f:section name="Preview">
TEST
</f:section>

<f:section name="Main">

<f:for each="{settings.things}" as="thing" iteration="iterator">

<f:if condition="{thing.entry.boolean}">
Checked<br>
</f:if>
{thing.entry.label}

</f:for>

</f:section>
[/code]