[Frage] Flexform Felder in Backend & Frontend [Gelöst] TYPO3-Version: 6.2.7

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    22. 04. 2015, 19:43

    Hallo zusammen,

    ich bin gerade dabei mich in Extbase, Fluid, Flux, etc. einzuarbeiten.
    Bitte steinigt mich nicht, aber ich habe ein Verständnisproblem:
    Ich möchte gerne meine Extbase Extension um ein Flexform Feld erweitern, welches ich dazu nutzen möchte, um zukünftige Daten flexible und schnell zu meinen Model hinzufügen zu können. Die Eingabemasken (Input,Select,etc.) funktionieren im BE bereits und ich kann mir auch die entsprechenden Daten im FE ausgeben lassen.

    Nun möchte ich aber auch im FE die Möglichkeit haben die Daten zu bearbeiten/ändern.
    Die FLUX Formen werden aber nicht gerendert.
    Meine Frage: Ist eine Bearbeitung der des FCE im FE mittels FLUX überhaupt möglich?
    Wie kann ich FCE Daten im BE und FE bearbeiten?

    Folgendes Bsp. rendert die Felder im BE und zeit die Daten im FE:

    1. <f:layout name="Content" />
    2.  
    3. <div xmlns="http://www.w3.org/1999/xhtml" lang="en"
    4. xmlns:f="http://typo3.org/ns/TYPO3/Fluid/ViewHelpers"
    5. xmlns:flux="http://typo3.org/ns/FluidTYPO3/Flux/ViewHelpers"
    6. xmlns:v="http://typo3.org/ns/FluidTYPO3/Vhs/ViewHelpers">
    7.  
    8.  
    9. <f:debug>{field1}</f:debug>
    10.  
    11. This text will be rendered as preview.<br />
    12. Field 1: <f:for each="{field1}" as="field" iteration="iteration">
    13. {field}<f:if condition="{iteration.isLast}" else=" - " />
    14. </f:for><br />
    15. Field 2: <f:if condition="{field2}" then="{field2}" else="No value entered" />
    16.  
    17.  
    18. <flux:field.input name="field1" />
    19.  
    20. <flux:form.sheet name="tab1" label="Tab 1">
    21. <flux:field.input name="field1" label="Enter CSV value" transform="array" />
    22. </flux:form.sheet>
    23.  
    24. <flux:form.sheet name="tab2" label="Tab 2">
    25. <flux:field.input name="field2" label="Field in tab 2" />
    26. </flux:form.sheet>
    27.  
    28.  
    29.  
    30.  
    31.  
    32.  
    33. </div>

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    24. 04. 2015, 09:39 - Lösung

    Zitiert von: ironpfu

    Bin ich dabei komplett am falschen Weg?

    Ja.
    flux/fluidpages/fluidcontent etc. sind ein Templating-Framework,
    um innerhalb einer sogenannten Providerextension Templates für Seiten und spezielle Inhaltselemente bereitzustellen, wie z.B. im [url=http://typo3.org/extensions/repository/view/fluidbootstraptheme]fluidbootstraptheme[/url].
    Dabei dienen die per flux generierten Flexforms zur Konfiguration dieser Seiten und Inhaltselemente im [b]Backend[/b].

    Irgendeine Extension, die im Datenmodell ein Feld vom Typ flex nutzt,
    ist mir nicht bekannt.


  • 1
  • volk0r volk0r
    Padawan
    0 x
    59 Beiträge
    3 Hilfreiche Beiträge
    23. 04. 2015, 09:03

    hi,

    du musst deine formulare usw mit den fluid viewhelpern bauen (f:input usw) um diese dann an eine spezielle action in deinem controller zu sehen (updateAction beispielsweise)

    lg, volker.

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    23. 04. 2015, 11:59

    Danke für die schnelle Antwort.

    Flux rendert mir zwar die einzelnen Felder und ich kann diese auch in ein Formular einabauen.
    Aber nicht an die UpdateAction übertragen, da diese ja kein Eigenschaft meines Models ist:

    1. <f:form action="update" id="variables">
    2. <f:form.textfield id="field2" value="{field2}" />
    3. <f:form.submit value="Absenden" />
    4. </f:form>

    1. public function updateAction() {
    2.  
    3. $args = $this->request->getArguments();
    4. \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($args);
    5. }

    Es kommen keine Argumente (ausnahme Controller und Action Namen) an....
    Zudem ist mir völlig unklar wie die Daten ann im Controller wieder in das Flexform Feld kommen....

    Ich habe aufgrund meiner geringen Erfahrung anscheinend ein echtes Verständisproblem.

    Ich möchte in meiner Extension innerhalb meines Models ein Flexform Feld.
    Die einzelnen FormElemente der Flexform sollen sowohl über das BE als auch über das FE editiert werden können. Geht dies überhaupt?

    Im BE ist mir das soweit klar. Ich kann die Daten auch im FE darstellen.
    ABER wie gestalte ich Formularfelder für die Flexform im FE?

    Ich dachte mit Flux/Fluid geht das sehr einfach:
    https://fluidtypo3.org/documentation/templating-manual/advanced-provider-extensions/custom-flux-controllers/use-cases-for-controllers.html

    Bin ich dabei komplett am falschen Weg?
    Kennt jemand eine Extension an der man sich orientieren kann?

  • jenses jenses
    Flash Gordon
    0 x
    3087 Beiträge
    106 Hilfreiche Beiträge
    24. 04. 2015, 09:39

    Zitiert von: ironpfu

    Bin ich dabei komplett am falschen Weg?

    Ja.
    flux/fluidpages/fluidcontent etc. sind ein Templating-Framework,
    um innerhalb einer sogenannten Providerextension Templates für Seiten und spezielle Inhaltselemente bereitzustellen, wie z.B. im [url=http://typo3.org/extensions/repository/view/fluidbootstraptheme]fluidbootstraptheme[/url].
    Dabei dienen die per flux generierten Flexforms zur Konfiguration dieser Seiten und Inhaltselemente im [b]Backend[/b].

    Irgendeine Extension, die im Datenmodell ein Feld vom Typ flex nutzt,
    ist mir nicht bekannt.

  • ironpfu ironpfu
    R2-D2
    0 x
    99 Beiträge
    1 Hilfreiche Beiträge
    24. 04. 2015, 11:21

    Vielen dank für diese info. Ich habe gestern ebenfass im extbase api nachelesen und festgestellt, dass flex niemals für datenmodelle verwendet werden. Somit müssen änderungen oder erweiterungen an feldern immmer im datenmodell eingearbeitet werden.

    Lg ironpfu

  • 1