formsource für Custom Field Plugin »Repeatable«

  • Hallo,


    von dem Joomla Custom Field »repeatable« habe ich eine Kopie erstellt und diese umbenannt. Dieses Custom Field habe ich erfolgreich installiert und ein Feld mit zwei Form Feldern eingerichtet. Ein Feld »media« und ein Feld »textarea«. Dieses kann ich nun in den Beiträgen benutzen.


    Nun möchte ich aber ohne die Einrichtung und Abfrage der beiden Formfelder die gleiche Funktionalität erreichen. Dazu habe ich in der PHP Datei (repeatable.php) welche das »FieldsPlugin« erweitert in Zeile 76 folgenden Code eingebunden


    Code
            echo json_encode($formFields);


    Hiermit wird mir folgender String von den beiden Formfeldern ausgegeben


    {"fields0":{"fieldname":"media","fieldtype":"mediajce","fieldfilter":"0"},"fields1":{"fieldname":"description","fieldtype":"textarea","fieldfilter":"safehtml"}}


    wie kann ich diesen in folgender Codezeile

    Code
    $fieldNode->setAttribute('formsource', $fieldsXml->asXML());

    als formsource einbinden um auf diese »foreach« Schleife verzichten zu können

  • Felder, die beim Speichern eines Beitrags etc. mitgespeichert werden sollen, sollten generell in das Joomla-Form via XML eingebunden werden. Nur dann werden sie beim Laden und/oder Speichern "nicht rausgeschmissen".


    Klar kann man auch z.B. via einem "normalen" Plugin "echt" eigene Formularfelder (oder "normale" Joomla-Standard-Felder wie "subform") zu Joomla-Forms hinzufügen, also ohne den Umweg com_fields zu nutzen, aber letztlich läuft auch das immer irgendwie über XML, z.B. eine eigene XML-Datei die drüber- oder zugeladen wird. Sonst "frisst das Formular" das Feld spätestens beim Speichern nicht. Iiiiirgendwie kan man dann zwar auch diese Felder durch Eingriff in die Speicherroutine (im Normalfall dann auch im eigenen, "normalen" Plugin irgendwo, irgendwie abfangen und speichern, z.B. in eigener DB-Tabelle, aber ist das die Mühe wert, nur um kein XML zu haben?