TI18nFormField::value() hat keinen Effekt

  • Affected Version
    WoltLab Suite 5.4
    Affected 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.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!