Ergebnis 1 bis 11 von 11

Thema: Fehler nach Update auf 3.5 - vermutlich i.Z. mit efg

  1. #1
    Contao-Nutzer
    Registriert seit
    02.01.2014.
    Beiträge
    25

    Standard Fehler nach Update auf 3.5 - vermutlich i.Z. mit efg

    Hallo,

    meine Seite lief bis zum Update auf Contao 3.5 problemlos. Seit dem Update erscheint nach Absenden eines Formulares (mit efg) u.a. Fehlermeldung. Formulardaten- und Bestätigungsmail wird versandt, dann kommt der Abbruch. Wer weiß weiter?


    Warning: Missing argument 3 for Contao\Form::processFormData(), called in /mnt/web7/c3/35/53620935/htdocs/system/modules/efg/forms/ExtendedForm.php on line 610 and defined in system/modules/core/forms/Form.php on line 296 #0 system/modules/core/forms/Form.php(296): __error(2, 'Missing argumen...', '/mnt/web7/c3/35...', 296, Array)
    #1 system/modules/efg/forms/ExtendedForm.php(610): Contao\Form->processFormData(Array, Array)
    #2 system/modules/core/classes/Hybrid.php(231): Efg\ExtendedForm->compile()
    #3 system/modules/core/forms/Form.php(84): Contao\Hybrid->generate()
    #4 system/modules/core/library/Contao/Controller.php(476): Contao\Form->generate()
    #5 system/modules/core/modules/ModuleArticle.php(213): Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main')
    #6 system/modules/core/modules/Module.php(282): Contao\ModuleArticle->compile()
    #7 system/modules/core/modules/ModuleArticle.php(67): Contao\Module->generate()
    #8 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
    #9 system/modules/core/library/Contao/Controller.php(269): Contao\Controller::getArticle(Object(Contao\Articl eModel), false, false, 'main')
    #10 system/modules/core/pages/PageRegular.php(133): Contao\Controller::getFrontendModule('0', 'main')
    #11 system/modules/core/controllers/FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #12 index.php(20): Contao\FrontendIndex->run()
    #13 {main}

    Vorab schon mal vielen Dank!

    Rainer

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Welche Version des EFG hast du installiert? Davon abgesehen: der EFG ist eigentlich nur bis Contao 3.2.7 freigegeben...

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    EFG ist offenbar mit Contao 3.5 (noch?) nicht kompatibel. Es ruft eine Funktion (processFormData) auf, die früher (bis Contao 3.4.5) zwei Parameter hatte, in Contao 3.5.0 aber drei Parameter. Dabei übergibt es aber offenbar nur zwei Parameter, es ist ja offiziell auch nur bis Contao 3.2.7 freigegeben. Da hilft nur, entweder zu warten, bis eine neue Version der Erweiterung verfügbar ist, oder den Entwickler zu kontaktieren. Vielleicht lässt er sich ja irgendwie überzeugen, schnell eine neue Version zur Verfügung zu stellen .

  4. #4
    Contao-Nutzer
    Registriert seit
    02.01.2014.
    Beiträge
    25

    Standard

    Mein efg ist 2.2.1 9005.

    Kann ich durch eine kleine Änderung im efg-Code den Fehler egalisieren - bis zu einem regulären update?

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Ich denke schon. /system/modules/efg/forms/ExtendedForm.php, Zeile #578 und #610 ändern von
    PHP-Code:
    $this->processFormData($arrSubmitted$arrLabels); 
    auf
    PHP-Code:
    $this->processFormData($arrSubmitted$arrLabels$arrFields); 

  6. #6
    Contao-Nutzer Avatar von Sascha
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    212

    Standard

    Hat das soweit funktioniert? Das heißt der EFG läuft bei Dir jetzt problemlos unter 3.5.?

  7. #7
    Contao-Nutzer
    Registriert seit
    02.01.2014.
    Beiträge
    25

    Standard

    Ja, der Tipp war super: läuft fehlerfrei!

  8. #8
    Contao-Nutzer
    Registriert seit
    18.02.2010.
    Beiträge
    227

    Standard efg mit hook

    Hallo community,

    erstmal noch heissen Dank an Spookie für den Tipp!
    Habe efg auf einer 3.5.0 Installation - und es läuft mit besagter Änderung.
    Allerdings erst, nachdem ich die Erweiterung "easyfavicon" deaktiviert habe. MIT der Erweiterung lief es nicht; es kamen zwar keine Fehler, aber mails wurden auch nicht versandt.

    Nun hab ich noch ein anderes Projekt, was sich gerade im Relaunch befindet.
    Da benutze ich (läuft derzeit unter Contao 2.10) auch efg für folgendes:
    Das Feld "recipient" soll im Formular durch ein Checkbox-Feld überschrieben werden.
    Im Formular selber gibt es also diese Checkboxen (DB-table-Checkbox), sie läuft auf die tl_member Tabelle.

    Dazu habe ich eine neue Datei "EfgCallbacks.php" ins Verzeichnis system/modules/efg/forms gestellt:
    PHP-Code:
    <?php
     
    // $arrSubmitted enthalt die POST-Werte
    // $arrFiles ggf. Datei-Uploads
    // $intOldId die ID des bearbeiteten Datensatzes, im Falle von Frontend-Bearbeitung
    // $arrForm enthaelt die 'Formular-Konfiguration'
     
    class EfgCallbacks extends Backend
    {
        public function 
    exampleMailRecipient($arrSubmitted$arrFiles$intOldId, &$arrForm)
        {
     
            
    // Einschraenkung auf das Formular
            
    if ($arrSubmitted['FORM_SUBMIT'] == 'auto_form_5' || $arrSubmitted['FORM_SUBMIT'] == 'test' 
            {
                
    // überschreiben des Wertes von 'Empfänger-Adresse' mit dem Wert aus einem Fomularfeld
                
    $arrForm['formattedMailRecipient'] = $arrSubmitted['recipient'];
            }

            return 
    $arrSubmitted;
     
        }
    }
    ?>
    Dazu kommt ein Eintrag in der dcaconfig.php:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['processEfgFormData']['callback_02'] = array('EfgCallbacks''exampleMailRecipient'); 
    Das läuft unter 2.10 super, wen es interessiert, der kann es sich hier anschauen:http://www.piscoelqui.com/index.php/...ervierung.html

    Das hab ich jetzt unter 3.5.0 (lokal) auch mal probeweise installiert, und hier laufe ich auf einen Fehler (vermutlich ist es der Eintrag in der dcaconfig). Beim Absenden erscheint eine weisse Seite.
    Fehlermeldung laut error-log:
    Code:
    [06-Aug-2015 21:04:08 Europe/Berlin] PHP Fatal error:  Class 'EfgCallbacks' not found in C:\xampp\htdocs\clippi\system\modules\core\library\Contao\System.php on line 140
    Hat irgendwer vielleicht eine Idee, woran das liegen könnte?
    Das in der Fehlermeldung erwähnte Verezichnis \modules\core gibt es in 2.10 noch gar nicht....

    Herzlichen Dank,
    Sadara

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.116
    Partner-ID
    10107

    Standard

    Das solltest du so nicht machen. Du musst eine eigene Extension erzeugen.

  10. #10
    Contao-Nutzer
    Registriert seit
    18.02.2010.
    Beiträge
    227

    Standard

    Hallo Spooky,

    vielen Dank für deine Antwort. Aber WARUM sollte ich das denn nicht so machen? (Läuft seit langem fehlerfrei).

    Die Idee ist auch nicht meine, sie kommt ursprünglich von Thomas Weitzel:
    http://www.tl-usertreffen.weitzeldesign.com/efg-6.html

    Dazu gab es für ein ähnliches Problem einen thread im Forum:
    https://community.contao.org/de/show...g-von-Frontend

    Sadara

  11. #11
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Ich nutze den EFG nur für Kontaktformulare und hatte aktuell auch das Problem nach einem Update auf Contao 3.5.3, konnte es aber ohne Änderungen im Code beheben.

    Zuerst habe ich den EFG in den Systemeinstellungen deaktiviert. Dann im FE die Seite mit dem Formular aufrufen. Bei mir fehlte nun mit deaktiviertem EFG der Absende-Button. Hier habe ich dann im Formulargenerator den Absende-Button neu angelegt, unter Systemeinstellungen den EFG wieder aktiviert und nun funktioniert für mich wieder alles wie es soll. Vielleicht ist dieser kleine Workaround für den einen oder anderen hilfreich.

    VG,
    Gregor

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •