- Affected Version
- WoltLab Suite 5.4
- Affected App
- WoltLab Suite Core
siehe Titel
FormButton::$templateName ist vorhanden, aber man kann die Anwendung nicht definieren.
siehe Titel
FormButton::$templateName ist vorhanden, aber man kann die Anwendung nicht definieren.
Hallo,
auch wenn es hier technisch möglich ist [1], würde ich den FormButton als eine Klasse betrachten von der nicht abgeleitet werden sollte.
Von einer konkreten Klasse abzuleiten sorgt regelmäßig für Probleme. Ich kann mich beispielsweise daran erinnern, dass die Tatsache, dass MultilineTextFormField vom TextFormField ableitet an irgendeiner Stelle problematisch war, da <textarea> in HTML weniger bzw. andere Attribute zulässt als <input type="text">. Hat ein bisschen was vom Kreis-Ellipse-Problem.
Der $templateName ist protected und damit nur für abgeleitete Klasse relevant. Implementiere stattdessen besser direkt das IFormButton-Interface. Für WoltLab Suite 5.5 könnte ich mir auch vorstellen, dass man das IFormButton-Interface leert. Die im Interface definierten Methoden sind nur spezifisch für das __formButton-Template relevant und müssen in PHP-Code typischerweise nicht angesprochen werden (außer man hat wirklich einen konkreten FormButton vor der Nase).
[1] Und in Form des WysiwygPreviewFormButton auch passiert ist.
außer man hat wirklich einen konkreten FormButton vor der Nase
Was ja egal wäre, weil man über das Formular ja an den Button und damit ein Objekt der entsprechenden Klasse kommt, in dem die gewünschten Methoden dann vorhanden wären.
Hallo,
ja, aber da bist du dann ohnehin so tief in „du musst das Formular genau kennen“-Territorium, sodass du dich nicht sinnvoll auf irgendwelche Interfaces verlassen kannst.
Don’t have an account yet? Register yourself now and be a part of our community!