Formularfelder bei der Ausgabe trennen

  • Hallo Zusammen,


    ich habe eigene Felder erstellt, die mein Kunde dann selbst ausfüllen kann. Diese Felder gebe ich dann über Beiträge-Newsflash aus. Das Ganze soll dann eine zweispaltige Liste, mit Artikel und Preis ergeben. Damit mein Kunde die Liste frei um Zeilen erweitern kann, habe ich den Feldtyp auf "wiederholbar" gestellt. Im Backend habe ich nun die beiden Felder mit Artikel und Preis erstellt. Soweit, sogut.

    Wenn ich die Liste im Frontend ausgebe, wird diese als "Artikel, Preis" angezeigt. Ich würde die beiden Listenpunkte aber gerne getrennt weiter verarbeiten.

    Wie kann ich nun auf diese Punkte in einem override oder einem eigenem Layout zugreifen, um sie mittels "explode" zu trennen? Im Layout zum Modul Newsflash kann ich die Felder leider nicht erreichen.


    Viele Grüße


    Markus

  • Hallo Johannes,


    vielen Dank für Deine Antwort und den link.


    Leider ist das im Kundenbereich nicht das, was ich gerne erreichen möchte. Denn mit den Feldgruppen kann ich in einem Beitrag alle Felder ausfüllen, dann ist Schluss für diesen Beitrag.

    Da es sich um eine Preisliste handelt, soll man aber im Frontend jeweils Artikel und Preis nebeneinander finden und diese dann je um eine weitere Zeile erweitern können. Klar könnte ich per CSS die Positionen Artikel und Preis nebeneinander setzen, hätte aber trotzdem keine Möglichkeit, eine weitere Zeile zu erstellen.


    Das ist nur möglich, indem man den einzelnen Feldern, mehrere "Formularfelder" zuweist. Und genau die bekomme ich bei der Ausgabe nicht mehr getrennt.


    Viele Grüße


    Markus

  • Leider bin ich trotz intensiver Recherche in den letzten Tagen noch nicht wirklich fündig geworden. Hat irgendjemand eine Idee, wie ich die beiden "Formularfelder" wieder trennen kann?


    Kann mir jemand sagen, wie ich in einem override die einzelnen Felder greifen kann, um sie anschließend mittels "explode" zu bearbeiten?


    Viele Grüße


    Markus

  • Servus Johannes,


    vielen Dank für den Tipp. Jetzt habe ich die Lösung gefunden.


    In den Plugins gibt es eine eigene repeatable.php. In dieser Datei werden die einzelnen Felder per "implode" zusammengefügt. Das habe ich umgangen und gebe jetzt die beiden einzelnen Felder direkt aus. Damit kann ich sie dann getrennt bearbeiten. Hiervon baue ich mir jetzt noch ein alternatives Layout und alles wird gut.


    Viele Grüße


    Markus

  • Das ist leider ein ziemlich verquastes Durcheinander von Override-Möglichkeiten. Intuitiv geht anders.


    1)

    - In components/com_fields/layouts/ findest 2 Ordner.

    - Kopierst den field/ nach templates/DEINTEMPLATE/html/layouts

    - Benennst darin die Datei render.php nach myrender.php (Name beliebig) um.

    - Wählst in deinem Wiederhol-Feld in Einstellung Layout "myrender" aus.

    - Jetzt kannst versuchen die Variable $value , die eine fertige Liste (<ul><li>Artikel1, Preis1</li><li>Artikel2, Preis2</li></ul>) enthält, irgendwie umzubauen.


    2) Nur Hinweis:

    - components/com_fields/layouts/fields/render.php kann man auch als Override kopieren. Aber nicht umbenennen als eigenes Layout. Ein Override würde also ALLE Felder betreffen.


    3) Um den Aufbau der obigen UL-Liste direkt zu beeinflussen. Wohl das, was du suchst und ich zuletzt gefunden habe ;-) :

    - Kopierst plugin/fields/repeatable/tmpl/repeatable.php nach templates/DEINTEMPLATE/html/plg_fields_repeatable/repeatable.php

    - Auch das betrifft dann ALLE Wiederholfelder, da Plugins kein alternatives Layout kennen oder ich nicht weiß, wo man das in diesem Fall wählen sollen konnte.

    - Und nachdem ich keine Lust habe, mich durch weiteres Dutzend Dateien zu hangeln, um rauszubekommen, wo eigentlich dieses tmpl/repeatable.php in's Spiel gebracht wird, ob man da irgendwo irgendwas auch umbiegen kann, verbleibe ich mit einem "Viel Spaß!?" ;-)


    EDIT: Zu spät. Hätt ich mir sparen können.