Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

efg für Contao 3.5 (aktuelle Infos dazu)

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    #46
    Genauso klappt es auch gut. Danke dir.

    Comment


      #47
      Zitat von jenda Beitrag anzeigen
      Tomas hat mir geschrieben, dass er leider demnächst nicht so schnell zu der definitiven Version kommt. Aber dafür hat er das Wichtigste bereits behoben und für 3.5.x kompatibel gemacht. Die Version muss man sich unter https://bitbucket.org/thk/efg/get/develop.zip
      Sers hat jemand ebenfalls das Folgende Problem mit der aktuellsten Version?

      Umgebung: Contao 3.5.12
      EFG: Aktueller Master/Branch

      Problem:

      Ich habe ein Selectdatenbankfeld aus dem ich mir meine Daten hole. Die Daten werden auf der nächsten Seite ganz normal ausgegeben. (Auf der nächsten Seite wird der Inhalt über form::feldname) angezeigt. Das funktionierte bisher ohne Probleme.

      Die Daten in der Datenbank sind wie folgt Aufgebaut:

      Bezeichung - Adresse

      Die Adresse ist wiederum bisher wie folgt hinterlegt gewesen in der Datenbank:

      Name
      Straße
      Ort

      Jeweils eine neue Zeile innherhalb des Datenbankfeldes "Adresse"

      Mit der aktuellsten Version erscheint immer der Fehler: Ungültige Eingabe
      Ich habe den Fehler soweit eingrenzen können, dass ich sagen kann, dass es an der Verteilung des Inhalts auf jeweils einer neuen Zeile (angelegt mittels Enter-Taste im PHP-Myadmin) liegt. Nehme ich den manuellen Umbruch raus, funktioniert alles. In der bisher letzten Version der Erweiterungsverwaltung gab es dieses Problem nicht. Hat da jemand einen Ansatz?

      Comment


        #48
        Die Notlösung wäre aktuell die Zeilenumbrüche über <br> herzustellen und im Formular html-eingaben zu erlauben...

        Wäre jedoch ein sehr umständlicher weg.

        Comment


          #49
          Ich konnte den Fehler auf die Datei:

          system/modules/efg/forms/EfgFormLookupSelectMenu.php eingrenzen

          Dort gibt es folgenden neuen Abschnitt:

          PHP-Code:
          public function validate()

              {

                  
          $mandatory = $this->mandatory;

                  
          $options = $this->getPost($this->strName);


                  
          // Check if there is at least one value

                  
          if ($mandatory && is_array($options))

                  {

                      foreach (
          $options as $option)

                      {

                          if (
          strlen($option))

                          {

                              
          $this->mandatory = false;

                              break;

                          }

                      }

                  }


                  
          $varInput = $this->validator($options);


                  
          // Check for a valid option (see #4383)

                  
          if (!empty($varInput) && !$this->isValidOption($varInput))

                  {

                      
          $this->addError(sprintf($GLOBALS['TL_LANG']['ERR']['invalid'], (is_array($varInput) ? implode(', ', $varInput) : $varInput)));

                  }


                  
          // Add class "error"

                  
          if ($this->hasErrors())

                  {

                      
          $this->class = 'error';

                  }

                  else

                  {

                      
          $this->varValue = $varInput;

                  }


                  
          // Reset the property

                  
          if ($mandatory)

                  {

                      
          $this->mandatory = true;

                  }

              } 

          Kommentiere ich die Zeile

          PHP-Code:
          $this->addError(sprintf($GLOBALS['TL_LANG']['ERR']['invalid'], (is_array($varInput) ? implode(', ', $varInput) : $varInput))); 
          Aus funktioniert das Formular ohne Probleme.

          Aber das ist ja nicht Zielführend. Jemand eine Idee?
          Last edited by Acta; 12.05.2016, 15:24.

          Comment


            #50
            Ich habe hier gesehen das es ewig hin und her geht.
            Sollte man nicht einfach über eine alternative nachdenken?
            Gibt es den ein Modul was genauso oder sogar besser Formulardaten im Frontend auflistet und auch editierbar machen lässt?

            Comment


              #51
              Nein.
              Das ist ja das!

              Comment


                #52
                Vielleicht kann vielleicht ein anderer Entwickler Thomas unterstützen.
                Das wäre doch was, weil auch wenn man Thomas was spenden kann, würde mir viel dran liegen das man nicht einfach jemanden was spendet, wo es dann aber nicht vorran geht.

                Comment


                  #53
                  Thomas (thk) hat keine Zeit, das hat er oder andere für ihn schon mehrmals hier geschrieben.
                  Es gibt bereits andere Leute, die sein Repo geklont haben oder beobachten. Ich auch schon mal, habe es dann aber schnell wieder liegen gelassen, so wie alle
                  Aber weiter entwickeln oder Fehler beheben kann nur er, weil es wohl niemanden gibt, der so viel Zeit investieren will oder kann, um diese doch etwas komplexe Erweiterung zu studieren.

                  Comment


                    #54
                    Man könnte das ein oder andere Feature ja zB. für contao-leads in Auftrag geben. zB Auflistung im Frontend + Editierung wäre sicher eine praktische Erweiterung von contao-leads (und ist auch schon als feature request vorhanden, zumindest für die Auflistung: https://github.com/terminal42/contao-leads/issues/13).
                    » sponsor me via GitHub or Revolut

                    Comment


                      #55
                      So ich hab mal die Develop installiert. Kann mir jemand sagen wo das Auflistung Formular Daten hin ist? Finde das im Modul bereich nicht mehr.

                      Comment


                        #56
                        Also ich habe die Version 2.2.2 testweise auf Contao 3.5.12 aufgesetzt, und eigentlich läuft es grundsätzlich. Auch mit Auflistung im FE. Mit welchen Versionen arbeitest du denn?

                        lg
                        Clavis
                        PS: "grundsätzlich" meint die Extension läuft, ohne das System zu beeinträchtigen, aber vor allem bei der Datenspeicherung bzw. FE-Auflistung ist es etwas buggy. Einen Produktiveinsatz würde ich derzeit wohl eher nicht in Betracht ziehen.

                        Comment


                          #57
                          Zitat von Acta Beitrag anzeigen
                          Ich konnte den Fehler auf die Datei:

                          system/modules/efg/forms/EfgFormLookupSelectMenu.php eingrenzen

                          Dort gibt es folgenden neuen Abschnitt:

                          PHP-Code:
                          public function validate()

                              {

                                  
                          $mandatory = $this->mandatory;

                                  
                          $options = $this->getPost($this->strName);


                                  
                          // Check if there is at least one value

                                  
                          if ($mandatory && is_array($options))

                                  {

                                      foreach (
                          $options as $option)

                                      {

                                          if (
                          strlen($option))

                                          {

                                              
                          $this->mandatory = false;

                                              break;

                                          }

                                      }

                                  }


                                  
                          $varInput = $this->validator($options);


                                  
                          // Check for a valid option (see #4383)

                                  
                          if (!empty($varInput) && !$this->isValidOption($varInput))

                                  {

                                      
                          $this->addError(sprintf($GLOBALS['TL_LANG']['ERR']['invalid'], (is_array($varInput) ? implode(', ', $varInput) : $varInput)));

                                  }


                                  
                          // Add class "error"

                                  
                          if ($this->hasErrors())

                                  {

                                      
                          $this->class = 'error';

                                  }

                                  else

                                  {

                                      
                          $this->varValue = $varInput;

                                  }


                                  
                          // Reset the property

                                  
                          if ($mandatory)

                                  {

                                      
                          $this->mandatory = true;

                                  }

                              } 

                          Kommentiere ich die Zeile

                          PHP-Code:
                          $this->addError(sprintf($GLOBALS['TL_LANG']['ERR']['invalid'], (is_array($varInput) ? implode(', ', $varInput) : $varInput))); 
                          Aus funktioniert das Formular ohne Probleme.

                          Aber das ist ja nicht Zielführend. Jemand eine Idee?
                          Wie auch schon in bitbucket erwähnt, der Vollständigkeit halber auch hier: Eigentlich schon. Das ist die Fehlerausgabe der Validierung, die es vorher nicht gab. Die Klasse erweitert die Klasse Widget von Contao und ruft vor dieser Fehlerausgabe zwei Funktionen aus dieser Klasse aus und kommt nur zum Tragen, wenn dort eine ungültige Eingabe festgestellt wird. Dh. bislang wurde nur nicht geprüft, ob deine Eingabe valide ist, jetzt schon. Es handelt sich so gesehen, wahrscheinlich nicht um einen Bug sondern um ein neues Feature. Wenn es für dich mit dem Auskommentieren als Workaround funktioniert, belasse es so und bei einem Update (sollte ja nicht zu oft vorkommen) musst du dieses dann erneut einfügen.
                          web.werk.wien & Wiener Wandern

                          Comment


                            #58
                            Servus ... aber warum sind denn mehrzeilige Datenbankeinträge nicht "valide"?

                            Ich mein klar es ist eine einfache Lösung meines Problems, aber so wirklich gefallen tut sie mir nicht.

                            Comment


                              #59
                              Zitat von Acta Beitrag anzeigen
                              Servus ... aber warum sind denn mehrzeilige Datenbankeinträge nicht "valide"?

                              Ich mein klar es ist eine einfache Lösung meines Problems, aber so wirklich gefallen tut sie mir nicht.
                              Diese Funktionen prüfen in erster Linie, ob das zu erwartende/eingestellte geprüft wird (bei einem Pflichtfeld z.B. ob ein Wert eingetragen ist, gibt es einen nummerischen Wert, wenn einer verlangt wird, etc.). In diesem Fall gibt das Contao und nicht EFG vor, was valide ist. Du kannst daher deine Einstellungen für das Formularfeld prüfen, evt. kannst du es auch so lösen. Es geht ja hierbei um das ConditionalSelectMenue, oder? Und da werden anscheinend irgendwo diese mehrzeiligen Werte nicht als valide interpretiert (ist auch ungewöhnlich). Aber ich weiß z.B. zu wenig über Dein System um Dir mehr sagen zu können. Interessant wären z.B. die Einstellungen deines Formularfeldes und die Tabellenstruktur in der DB und Einstellungen der Spalte.

                              LG
                              web.werk.wien & Wiener Wandern

                              Comment


                                #60
                                Es ist das Feld "SelectMenu DB"

                                Spezielle Einstellungen für das Feld gibt es nicht


                                Die Tabelle ist wie folgt aufgebaut:

                                Code:
                                ID | Bereich | Adresse
                                
                                
                                ID
                                1
                                
                                
                                Bereich 
                                Testbereich
                                
                                Adresse
                                Einreichung
                                Straße
                                PLZ
                                Die Eingabe im Feld Adresse ist Mehrzeilig mittels Umbruch via Php-MyAdmin erstellt.

                                Comment

                                Working...
                                X