TI18nFormField::value() hat keinen Effekt

  • Betroffene Version
    WoltLab Suite 5.4
    Betroffene App
    WoltLab Suite Core

    WSC 5.4.10

    Smarty: __textFormField.tpl (Debug)
    {$field->getValue()|var_dump}<br>
    {$field->isI18n()|var_dump}<br>
    {$field->hasI18nValues()|var_dump}<br>
    {$field->getValue()|var_dump}<br>
    {$field->getSaveValue()|var_dump}<br>
    Smarty: myForm.tpl
    {include file='header' pageTitle='foo.bar.baz'}
    
    {@$form->getHtml()}
    
    {include file='footer'}

    Dumpe ich $titleField->getValue() direkt nach dem ->value()-Call, erhalte ich das gewünschte Resultat.

    Das Feld ist bei der Anzeige im Template aber wieder leer:

    Zum Testen habe ich alles aus dem Formular entfernt außer das eine Feld und die Referenzen auf die Klassen, die die FormBuilder-API braucht um irgendwelche Aufrufe von mir auszuschließen, die warum auch immer dazu führen könnten, dass der I18nHandler oder die Werte darin zurückgesetzt werden.

  • In populate() wird das Feld neu registriert, was natürlich ungünstig ist, da createForm() zuvor aufgerufen wird.

    Ich habe die Logik jetzt in finalizeForm() bzw. buildForm() verschoben, dann funktioniert es.

  • Marcel Werk 22. Dezember 2023 um 13:35

    Hat das Label Funktioniert wie gewollt hinzugefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!