yakamara / yform

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.
MIT License
77 stars 55 forks source link

`be_manager_relation`: `OUTPUT_FILTER`-EP berücksichtigen #1452

Closed alxndr-w closed 1 year ago

alxndr-w commented 1 year ago

Wenn ich eine neue Inline-Relation hinzufüge, wird im Formular nicht mein Redactor-Editor nachgeladen.

image

Ursache dafür ist, dass beim clientseitigen Hinzufügen der Formularcode nicht über den OUTPUT_FILTER läuft:

if (rex::isBackend() && rex_be_controller::getCurrentPage() == "qanda/qanda" || rex_be_controller::getCurrentPage() == "yform/manager/data_edit") {

    rex_extension::register('OUTPUT_FILTER', function (rex_extension_point $ep) {
        $suchmuster = 'class="###qanda-settings-editor###"';
        $ersetzen = rex_config::get("qanda", "editor");
        $ep->setSubject(str_replace($suchmuster, $ersetzen, $ep->getSubject()));
    });
}

Das hier bleibt unberücksichtigt, die Klasse in der Felddefinition meines textarea-Feldes bleibt somit class="###qanda-settings-editor###". Da ich in meinem Addon jedoch die Klasse flexibel einstellen möchte, ist dieser Platzhalter definiert.

Muss hier entweder der OUTPUT_FILTER implementiert werden oder gibt es eine andere Möglichkeit, programmatisch Einfluss auf dieses Formular zu nehmen?

alxndr-w commented 1 year ago

Falscher Alarm. Ich befand mich in einer Relationstabelle, mein Code hat das nicht berücksichtigt.