Hallo,
ich möchte eine bestehende Extension erweitern.
Die Konfiguration der bestehenden Extension wird u.a. durch Flexforms gemacht.
In der erweiterten Extension möchte ich auf die vorhandene Konfigurationsmethode aufsetzen und optionen hinzufügen.
Weiß jemand wie das funktioniert?
Schön wäre ein Beispiel.
Vielen Dank
Matthias
Hallo Matthias,
schau dir mal an wie das die Extension machen, die tt_news erweitern, aber ich glaube die müssen das gesamte flexform-file mitliefern
georg
Habe nichts gefunden, was mir weiterhelfen könnte.
Gruß
Matthias
Also ich würde jetzt mal ne Hypothese aufstellen wollen.
Wenn in der tt_news folgender Code das Flexform für das Plugin lädt:
t3lib_extMgm::addPiFlexFormValue(9, 'FILE:EXT:tt_news/flexform_ds.xml');
dann geh ich mal davon aus, das die (9, für das Content Element News steht. Von dieser Basis mal ausgehend, dann sollte es möglich sein, die orginal Datei in das eigene Extention Verzeichniss zu kopieren und darauf zu verweisen.
Wenn Du also die xml Datei kopiert hast, kannst Du sie um eigene Felder erweitern. Die Referenz setzt Du dann wie folgt.
t3lib_extMgm::addPiFlexFormValue(9, 'FILE:EXT:DEINE_EXTENTION/flexform_ds.xml');
Wie gesagt eine reine ungetestete Behauptung die nicht der Realität entsprechen muss.
Habe jetzt mal folgendes in die ext_tables.php eingefügt:
$TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY]='layout,select_key,pages,recursive';
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY] = 'pi_flexform';
t3lib_extMgm::addPiFlexFormValue($_EXTKEY, 'FILE:EXT:'.$_EXTKEY.'/flexform_ds.xml');
Aber die Veränderungen des forms werden nicht angezeigt.
Gruß
Matthias
Habe dasselbe Problem. Siehe hier. Ausweg?
Da steckt ein Gedankenfehler drin.
Man kann das TCA einer Extension erweitern. Diese Erweiterung ist möglich, da das TCA dynamisch aus einem Array generiert wird, greift das und wird als Grundlage für die TCE-Forms im BE benutzt.
Bei einer Flexform, die im Prinzip auch TCA ist, funktioniert das Prinzip anders: Sie wird aus einer XML-Vorlage geladen und als komplettes XML im ContentElement gespeichert, ist also nicht dynamisch. Daher kann man diese Flexform nicht erweitern.
Hi steffen,
Heisst das, dass es prinzipiell unmöglich ist eine Extension die per Flexforms konfiguriert wird zu erweitern?
Das überschreiben der kompletten xml datei funktioniert ja, aber das kann schnell in die Hose gehen wenn eine neue Version der zu erweiternden Extension rauskommt.
Das wäre doch mal ein feature request, eine funktion
t3lib_extMgm::extendPiFlexFormValue
die bestehende Flexform Einträge überschreibt und neue hinzufügt.
Das sollte doch eigenlich nicht so kompliziert sein, da die xml-datei intern sowieso in ein array umgewandelt wird...
vollkommen richtig - die Flexform lässt sich nicht erweitern.
mach doch mal einen Feature Request im Bugtracker, ich fänd das auch interessant.
hat sich da etwas getan oder geht das immer noch nicht? habe das problem jetzt auch.
die felder, die ich mit meiner neuen erweiterungsextension hinzufüge, erscheinen im letzten tab, relativ unpassend für mich.
ich sehe keine möglichkeit das zu steuern, ich möchte ja den code der erweiterten extension nicht anfassen...auch nicht die flexform xlm datei.
wäre dankbar für einen tip, wenns hier inzwischen eine lösung gibt.
IMO musst du immer noch das gesamte flexform in deine ext übernehmen