-
Eigene RgXp erstellen.
Für die Eingabe spezieller Felder im Backend habe ich eine eigene RegEx-Überprüfung geschrieben.
Da ich diese Überprüfung in mehreren Erweiterungen nutzen will, stellt sich die Frage wo ich die Klasse ablege? Es ist mir klar, dass sie zusammen mit jeder dieser Erweiterungen installiert werden muss, aber wohin? Gehört so etwas ins Verzeichnis Pugins?
Gruß ChrMue
-
Ich würds als Modul machen.
Kennst du den CustomRegexp Hook: http://www.contao.org/hooks.html#addCustomRegexp
-
Ja, den habe ich auch verwendet.
Macht ein eigenes modul dafür sinn? Es bestünde dann doch nur aus der Registrierung im CustomRegexp Hook und aus einer einzigen Klasse mit der Prüfmethode.
ChrMue
-
Hallo, hier habe ich sowas ähnliches umgesetzt, vielleicht hilft es Dir weiter. ;)
http://www.contao-community.de/showt...ighlight=ajfsp
-
Danke, das hatte ich schon gefunden, und die Validierung funktioniert auch. Mir geht es darum, wie wo ich das ganze ablege, damit ich es in mehreren Erweiterungen nutzen kann.
ChrMue
-
Der, eine vielleicht wichtigste, Vorteil bei einem Modul ist eben, dass es automatisch geladen wird. Obwohl es vielleicht kein "richtiges" Modul ist, dass alle Features eines Moduls verwendet, macht es deshalb vielleicht sinn.
Oder wir mit __autoload in typolight auch in den plugins gesucht?
-
HI
Ich an deiner Stelle würde in der Tat diese Funktionalität in einer eigenen Erweiterung kapseln. Dann können die anderen Erweiterungen darauf zugreifen. Und meine Erweiterung könnte dann unter Umständen ebenfalls deine Funktion verwenden. :)
Sebastian
-
Ähnliches Problem
Hallo,
mein Problem klingt ganz ähnlich. Ich habe einen intelligenten Spamfilter, den ich einbinden möchte. Die Regexp zu registrieren ist kein Problem, ich hätte aber gern, dass diese Auswahl auch im Formulareditor als Validierungsmöglichkeit erscheint.
Habe herausgefunden, dass in system/modules/backend/dca/tl_form_field.php die Felder für das Auswahlfeld entsprechend gesetzt werden.
Jetzt dachte ich mir, dass ich mit
PHP-Code:
$GLOBALS['TL_DCA']['tl_form_field']['fields']['rgxp']['options'][] = 'spamfilter';
diese Option hinzufügen kann. Leider hat das nicht funktioniert. Es passiert einfach gar nichts.
Den Code habe ich in meiner Erweiterung in der config.php untergebracht, gleich nach dem addCustomRegexp-Hook.
Da müsste er doch in jedem Fall ausgeführt werden.
-
Also so aus dem Bauch heraus würde ich sagen, diese PHP Anweisunge gehört in deinem Modulordner in die Datei /dca/tl_form_field.php. Wenn das nichts hilft, kannst du ja mal den aktuellen $GLOBALS['TL_DCA']['tl_form_field'] mit print_r ausgeben. Dann siehst du ob und wann deine php Dateien geladen werden.
-
Hast recht, jetzt funktioniert es.
Bin auch etwas blöd – steht doch auch so im Entwicklerhandbuch. Wer richtig liest, spart sich eine Menge Probleme.
Vielen Dank.