Ankündigung

Einklappen
Keine Ankündigung bisher.

Nach Update von 4.4 zu 4.9: Problem mit Filter -> form_textfield.html5

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Nach Update von 4.4 zu 4.9: Problem mit Filter -> form_textfield.html5

    Hossa,

    nach dem Update von Contao 4.4.54 nach 4.9.9 greift bei einem CC Textfilter das form_textfield.html5 Template nicht mehr.
    Kann das jemand nachvollziehen?

  • #2
    Hi,
    die CC Filtertemplates lauten: customcatalog_filter_...

    Einzig das Filter-Modul selbst pointet auf ein form_customcatalog_filter.html5
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Ist mir bekannt, aber ich muss dem <input> tag eine zusätzliche Klasse verpassen... und das geht ja nur direkt über das form_textfield Template.
      Das muss ja irgendwie mit dieser Umstellung der Template-Handhabung in Contao zusammenhängen. Nur kapier ich grad nicht, wie die einzelnen Teile jetzt eigentlich heißen müssen.

      Kommentar


      • #4
        Überschreibst du die Standard-Ausgabe und baust manuell über die FormTextField Klasse das Input auf?

        Ich hab mal im 4.9er Core geschaut. form_textfield ist weiterhin das Standard-Template für FormTextField. Da sollte sich generell nichts geändert haben.
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ich hab den ganz klassischen Weg genommen:
          Standard-Template "form_textfield.html5" kopiert nach /templates und dort dann die Klasse bzw. den Quellcode ergänzt.
          Mir zerschießt es hier grad alles, inkl. der anderen Felder (z.B. fieldset). Das nervt grad tierisch!

          Kommentar


          • #6
            Zitat von D23 Beitrag anzeigen
            Ich hab den ganz klassischen Weg genommen:
            Standard-Template "form_textfield.html5" kopiert nach /templates und dort dann die Klasse bzw. den Quellcode ergänzt.
            Mir zerschießt es hier grad alles, inkl. der anderen Felder (z.B. fieldset). Das nervt grad tierisch!
            Uhh... was da los? Template-technisch ist 4.4 und 4.9 eigentlich gleich.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Grad gesehen... da stimmt so einiges nicht. Der komplette Formularaufbau ist durcheinander. Die widgets liegen außerhalb des <form> tags... sogar außerhalb des mod_articles ... ich krieg nen Anfall ^^

              Kommentar


              • #8
                Zitat von D23 Beitrag anzeigen
                Grad gesehen... da stimmt so einiges nicht. Der komplette Formularaufbau ist durcheinander. Die widgets liegen außerhalb des <form> tags... sogar außerhalb des mod_articles ... ich krieg nen Anfall ^^
                Puhh.. nee da kann wirklich was nicht stimmen.

                Mmmhhh... ich nutze auch den direkten /templates Ordner für quasi alles .

                Werden denn deine Templates ignoriert oder ist ein Element offen?
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Ich hangel mich hier mal so der Reihe nach durch und teste mit einem komplett neuen Formular. Scheinbar gibt es doch kleinere Änderungen in den Templates... Vor allem beim fieldset. Gab es da vorher schon ein separates Template für Start und Stop?

                  Kommentar


                  • #10
                    Unter 4.4 gab es nur ein form_fieldset Template. Es gab auch kein Fieldset STOP Element. Das wurde durch den Selector in den Einstellungen unterschieden.

                    Das mag mit der strikten Template-Namengebung nun zu tun haben, die sich an die Schlüsselbezeichnung der Elemente anheftet.

                    Beispiel für das Fieldset aus der Core config.php
                    $GLOBALS['TL_FFL'] = array
                    (
                    'fieldsetStart' => 'Contao\FormFieldsetStart',
                    'fieldsetStop' => 'Contao\FormFieldsetStop',


                    );

                    Ergo: form_fieldsetStart, form_fieldsetStop Template
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #11
                      Korrekt. Das konnte ich jetzt auch durch Anpassung bzw. Erstellung des form_fieldSetStart Templates korrigieren. Damit passt jetzt auch mein übertrieben umfangreiches Kontaktformular immerhin wieder.

                      Was genau bei dem CC Filter noch nicht passt, muss ich jetzt noch rausfinden.

                      Kommentar


                      • #12
                        Ich möchte meinen die Fieldset-Geschichte müsste Contao selbst im Install-Tool in den Update-Schritten angleichen. Quasi alle ehemaligen Fieldset > Betriebsart: Umschlag Ende wurden in der DB umgeschrieben auf formfield.type = fieldsetStop

                        Ja, ok bei eigenen Templates ist dann halt immer die Nacharbeit.
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #13
                          Ist halt super, wenn man davon erstmal nichts mitkriegt

                          Kommentar


                          • #14
                            Also beim Filter bleibt das Problem.

                            Weder form_textfield noch form_text_custom greifen. Any ideas?

                            Kommentar


                            • #15
                              Unter 4.4 sollte das das form_textfield hier auch nicht greifen.

                              Die Standard-Ausgabe-Routine von CC erstellt ein FormTextfield und rendert es via generateWithError. Die Methode ist in der Widget Klasse von Contao verankert und ruft die generate Methode des jeweligen Formular-Feldes auf.
                              Bei einem Textfeld ist das eine hardcodierte <input> Ausgabe.

                              Widget::generateWithError: https://github.com/contao/core-bundl...idget.php#L651
                              TextField::generate :: https://github.com/contao/core-bundl...Field.php#L241

                              FormTextfield:: parse() durchläuft eine Template-Abfrage.
                              ---

                              Code:
                              $strName = 'meinText';  
                              $objWidget = new \Contao\FormTextField();
                               $objWidget->__set('name', $strName);
                                $objWidget->__set('id', $strName);
                                $objWidget->__set('value', $varValue);
                                $objWidget->__set('label', 'Mein Text');
                                $objWidget->__set('placeholder', 'Mein Placeholder');
                               
                               
                              echo $objWidget->parse(); // durchlaeuft form_textfield
                              Zuletzt geändert von Tim; 23.10.2020, 12:52.
                              http://www.premium-contao-themes.com

                              Kommentar

                              Lädt...
                              X