FormBuilder: Wysiwyg Editor Fehler

  • Hallo,


    bei der Verwendung des FormBuilders für Mehrsprachige Inhalte mit dem wysiwygFormField stoße ich auf ein Problem wenn ich diesen nur einsprachig habe.


    Uncaught Error: Only `<textarea>` types are allowed.



    Im Mehrsprachigen Teil keine Probleme, nur im einsprachigen. Was mach ich falsch?



    ~LG Fabi

  • Wie in der Dokumentation steht, soll man das WysiwygFormField nicht direkt nutzen, sondern den WysiwygFormContainer. Ich bin damals auf Ähnliche Probleme gestoßen und nach dem Wechsel auf den WysiwygFormContainer passt alles.

  • Ich habe in ein altes Projekt dies auch in der Richtung wie bei Dir gemacht.
    Und dies hatte gut funktioniert.

    Jedoch war es hier noch zu WSC 5.2 Zeiten..
    Aber sollte noch in der aktuellen Version passen.



  • Hi deraiser ,


    wenn ich deins mit meinem vergleiche ist da eigentlich auf dem ersten Blick kaum ein unterschied (funktional). Mich interessiert jedoch trotzdem was die Ursache des Problems ist um das Ganze zu verstehen.


    Ist nicht böse gemeint, aber durch copy & paste ist nicht immer alles verstanden.



    MysteryCode gerade nicht am PC, aber im Grunde wie ganz oben nur statt WysiwygFormField - WysiwygFormContainer und statt objectType - messageObjectType


    Bei WysiwygFormContainer kommen jedoch auch entsprechend der installierten Sprachen auch entsprechend viele Vorschau-Buttons was eher doof ist.

  • MysteryCode gerade nicht am PC, aber im Grunde wie ganz oben nur statt WysiwygFormField - WysiwygFormContainer und statt objectType - messageObjectType


    Bei WysiwygFormContainer kommen jedoch auch entsprechend der installierten Sprachen auch entsprechend viele Vorschau-Buttons was eher doof ist.

    Wusste gar nicht, dass man in FormContainer neue FormContainer als children hinzufügen kann. Habs aber gerade ausprobiert, das funktioniert wohl soweit.


    Um die Vorschau-Buttons zu deaktivieren, kann man die Funktion enablePreviewButton($enablePreviewButton) im WysiwygFormContainer verwenden.

  • Wusste gar nicht, dass man in FormContainer neue FormContainer als children hinzufügen kann. Habs aber gerade ausprobiert, das funktioniert wohl soweit.

    Das kannst du ewig ineinander verschachteln. :P

    Nur mit spezifischen Containern wie dem Tab-Zeug oder Wysiwyg geht das nicht.


    Folgendes tut bei mir:


    Einsprachig:


    Mehrsprachig:


    PS: Alternativ nutzt man sowas hier, das sich konsistent zu normalen I18n-Feldern verhält:

    PHP
            $descriptionContainer = I18nWysiwygFormContainer::create('')
                ->messageObjectType('')
                ->label('')
                ->description('')
                ->supportSmilies(false)
                ->languageItemPattern('')
                ->required();
            if (MODULE_ATTACHMENT) {
                $descriptionContainer->attachmentData('');
            }
  • Genau das gleiche Problem hab ich auch wie auf deinen Bildern gezeigt. Der einsprachige Editor ist quasi nicht vorhanden.

    PS: Alternativ nutzt man sowas hier, das sich konsistent zu normalen I18n-Feldern verhält:

    Schön und gut, nur gibt es diesen ja nicht im Standard ...


    Darum mache ich es so wie es bei Artikeln auch ist - über Tabs. Nur möchte ich auf den FormBuilder zurück greifen.

  • Ok, das macht sinn. Ich danke dir!


    Was mir nur nicht gefällt am wysiwygFormContainer, dass es so an TitleFormField "gequetscht" ist



  • Was mir nur nicht gefällt am wysiwygFormContainer, dass es so an TitleFormField "gequetscht" ist

    TitleFormField ist ein Feld und sollte in einen FormContainer, WysiwygFormContainer hingegen ist selbst schon ein Container.

    Dazu hatte ich mal ein Thema erstellt; WoltLab wird den Abstand aber nicht anpassen: FormContainer in FormContainer direkt unter Field auf gleicher Ebene ohne Abstand