Ergebnis 1 bis 11 von 11

Thema: [gelöst] Feld aus [CountrySelect] wird mit efg-mail nicht übertragen

  1. #1
    Contao-Nutzer
    Registriert seit
    19.06.2009.
    Ort
    Niederbayern
    Beiträge
    110

    Standard [gelöst] Feld aus [CountrySelect] wird mit efg-mail nicht übertragen

    Hallo,

    habe in einem Formular die countryselect-Erweiterung im Einsatz. Dieses eine Feld mit dem Country wird jedoch leider mittels "efg-per Email versenden" nicht übertragen.

    Mit der normalen email-Versandoption wird es aber versendet.

    Kann mir jemand einen Tipp geben, was ich falsch mache bzw. was ich tun kann um das Problem zu beheben. Danke

    Ergänzung:
    Habe gerade noch den Debug-Modus benutzt - kriege folgende fehlermeldungen:

    Warning: array_merge(): Argument #1 is not an array in /srv/www/vhosts/xxxxxx.xx/subdomains/sandbox/httpdocs/system/modules/efg/Efp.php on line 184

    Warning: in_array(): Wrong datatype for second argument in /srv/www/vhosts/xxxxxxxxx.xx/subdomains/sandbox/httpdocs/system/modules/efg/Efp.php on line 192
    Im Frontend läuft es eigentlich - bis auf das fehlende Feld im Email - recht klaglos. Man sieht jedenfalls ohne den Debug-Modus kein Problem .
    Geändert von abackhaus (22.08.2009 um 11:29 Uhr)

  2. #2
    Contao-Fan Avatar von Stranger
    Registriert seit
    20.06.2009.
    Ort
    Blankenburg
    Beiträge
    746
    Partner-ID
    5635
    User beschenken
    Wunschliste

    Standard

    Hast du nach dem Hinzufügen des Feldes das gesamte Formular nochmal abgespeichert?
    Du willst dich bei mir bedanken?
    Ich freue mich über Geschenke von meiner Amazon-Wunschliste.

    Contao-Anwender seit 2008
    Contao-Entwickler seit 2013, mehr als 50 Contao Erweiterungen programmiert

    Mein Unternehmen aus Blankenburg (Harz): Fast & Media

  3. #3
    Contao-Nutzer
    Registriert seit
    19.06.2009.
    Ort
    Niederbayern
    Beiträge
    110

    Standard

    Zitat Zitat von Stranger Beitrag anzeigen
    Hast du nach dem Hinzufügen des Feldes das gesamte Formular nochmal abgespeichert?
    Das verstehe ich nicht - wie soll man ein Feld denn sonst im Formular ausfüllen können, wenn man es vorher im Backend nicht gespeichert hat ?
    Wie kann/sollte man den das Formular denn extra abspeichern ?

    Fallst Du die Kopfdaten meinst - ja die habe ich (mehrmals) gespeichert - hilft aber nichts ...


    PS: DIe o.a. Fehlermeldungen habe ich mittlerweile aufgrund eines anderen Forenbeitrages beseitigen können
    Geändert von abackhaus (16.08.2009 um 20:25 Uhr)

  4. #4
    Contao-Fan Avatar von Stranger
    Registriert seit
    20.06.2009.
    Ort
    Blankenburg
    Beiträge
    746
    Partner-ID
    5635
    User beschenken
    Wunschliste

    Standard

    Ja richtig, ich meinte die "Kopfdaten". Da die Daten immer noch nicht übertragen werden, liegt es wahrscheinlich an einer fehlenden/fehlerhaften Einstellung der Programmierung in der Erweiterung "countryselect". Oder es ist so etwas wie hier der Fall:
    https://community.contao.org/de/showthread.php?t=1566

    Ich glaube also nicht, dass du was falsch gemacht hast und/oder daran (ohne fortgeschrittene PHP-Kenntnisse) was ändern kannst.
    Geändert von Stranger (17.08.2009 um 18:54 Uhr)
    Du willst dich bei mir bedanken?
    Ich freue mich über Geschenke von meiner Amazon-Wunschliste.

    Contao-Anwender seit 2008
    Contao-Entwickler seit 2013, mehr als 50 Contao Erweiterungen programmiert

    Mein Unternehmen aus Blankenburg (Harz): Fast & Media

  5. #5
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo abackhaus,

    die Felder aus den diversen Formularerweiterungen werden leider vom EFG (noch) nicht erkannt und damit auch nicht zu InsertTags gewandelt.

    Ich habe mir dazu einen Workaround geschaffen:
    Ich lege dazu ein "Verstecktes Feld" mit einem anderen Namen an (das wird vom EFG erkannt) und habe eine Hook-Callback-Routine, die den Inhalt der unbekannten Felder in die versteckten Felder kopieren. Dann kann ich auch diese Felder als InsertTag nutzen.

    Neue Datei /system/modules/efg/myEfgFuncs.php:
    PHP-Code:
    <?php
    class myEfgFuncs extends Backend
    {
        public function 
    copyToHidden($arrSubmitted$arrFiles$intOldId, &$arrForm)
        {
             
    $arrSubmitted['hiddenCountry'] = $this->Input->post('country');
             return 
    $arrSubmitted;
        }
    }
    ?>
    Eintrag in der /system/config/dcaconfig.php:
    PHP-Code:
    $GLOBALS['TL_HOOKS']['processEfgFormData']['myCallback'] = array('myEfgFuncs''copyToHidden'); 
    Mein Beispiel: Das sichtbare Feld hat den Namen 'country', das versteckte Feld für diese Information habe ich dann 'hiddenCountry' genannt. Es läßt sich dann als {{form::hiddenCountry}} in den Text- und HTML-Mails und auf der Antwortseite nutzen.

  6. #6
    Contao-Nutzer
    Registriert seit
    19.06.2009.
    Ort
    Niederbayern
    Beiträge
    110

    Daumen hoch

    Hallo Hagen,

    super - das hat funktioniert. Vielen Dank für Deine Mühe und die gute Erklärung

    Gruss, Albrecht

    PS: Ich hatte auch noch ein ganz normales Textfeld - das liess sich leider auch nicht übertragen (stammt auch nicht aus einer extension!) - jetzt mit Deinem Workaround funktionierts. Ich verstehe es nicht, aber es geht wenigstens :-) ....
    Geändert von abackhaus (18.08.2009 um 07:54 Uhr)

  7. #7
    Contao-Nutzer Avatar von ronnyjohn
    Registriert seit
    11.08.2009.
    Ort
    Murg
    Beiträge
    53

    Standard

    Hallo Hagen

    Ich habe die Funktion ebenfalls direkt integriert und auch bei mir funktioniert diese bestens.

    Jetzt würde ich aber gern nicht das value sondern die Bezeichnung meines Selectmenues an das Hiddenfield übergeben. Ist das möglich?

  8. #8
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo ronnyjohn,

    wie das bei Workarounds so ist, kann man nicht alles erwarten.

    Das Ganze basiert jetzt auf den Post-Informationen, die das Formular ganz normal absendet. Da ist für Selectfelder leider nur der ausgewählte Wert drin.

    Du könntest bestenfalls mit einer Datenbankabfrage in Deiner Hooh-Routine versuchen, aus der Formulartabelle das richtige Formular und daraus wieder die Bezeichnung zu dem empfangenen Wert aus der Select-Definition zu generieren. Das ist sicherlich nicht einfach.

  9. #9
    Contao-Fan Avatar von tom
    Registriert seit
    16.06.2009.
    Ort
    Ludwigsburg
    Beiträge
    385

    Standard

    Hallo zusammen,

    es sollte funktionieren, die Länderbezeichnung anstelle des Länderkürzels (also Bezeichnung statt value der Option) in das hiiden field zu übertragen, indem die Funktion geändert wird,
    anstelle von:
    PHP-Code:
    <?php
    class myEfgFuncs extends Backend
    {
        public function 
    copyToHidden($arrSubmitted$arrFiles$intOldId, &$arrForm)
        {
             
    $arrSubmitted['hiddenCountry'] = $this->Input->post('country');
             return 
    $arrSubmitted;
        }
    }
    ?>
    geändert:
    PHP-Code:
    <?php
    class myEfgFuncs extends Backend
    {
        public function 
    copyToHidden($arrSubmitted$arrFiles$intOldId, &$arrForm)
        {
             
    $arrCountries $this->getCountries();
             
             
    $arrSubmitted['hiddenCountry'] = $arrCountries[$this->Input->post('country')];
             return 
    $arrSubmitted;
        }
    }
    ?>
    Anmerkung: noch nicht getestet!

    Schöne Grüße
    Thomas

  10. #10
    Contao-Nutzer
    Registriert seit
    19.06.2009.
    Ort
    Niederbayern
    Beiträge
    110

    Standard

    Hallo Tom,

    ich hatte zwar schon den Workaround implementiert, habe jedoch gerade Dein Update für den EFG gesehen und installiert. Das funktioniert jetzt ganz wunderbar -vielen Dank !

    Gruss, Albrecht

    PS: Auch die Länderbezeichnung kommt jetzt ohne eigene Anpassungen in "Langtext"

  11. #11
    Contao-Nutzer
    Registriert seit
    03.03.2010.
    Beiträge
    20

    Standard

    Hallo!

    Ich stehe vor einem ähnlichen Problem und zwar: Brauche ich im Frontend einmal die ISO Bezeichnung des jeweiligen Landes... z.B. "de" und einmal die Bezeichung so wie sie im Backend angezeigt wird "Deutschland".

    Wisst ihr wie ich das realisieren kann? Hab es schon mit dem Hiddenfield versucht, nur Hiddenfields kann man nicht per Efg im Frontend ausgeben lassen.

    Hab keine Idee wie ich darauf zugreifen kann. Danke für eure Zeit.

    Liebe Grüße,
    Eure Laura

    UPDATE: Irgendwie ist das schwer verständlich... nochmal eine (hoffentlich) einfachere Erklärung.

    Ich habe [countryselcect] und [Efg] installiert.

    In den E-Mails zeigt er mir das Feld country z.B. mit Land: de
    In der Admin zeigt er mir Land: Deutschland (also so wie die Länder im Select-Field stehen).


    Jetzt brauche ich in der Ausgabe beides.. einmal brauch ich "de" (um automatisch die richtige Landesflagge anzuzeigen) und einmal brauche ich "Deutschland" um den Namen des Landes daneben zu schreiben.

    Glaube das ist einfacher zu verstehen ;-)
    Geändert von laura_w (30.07.2010 um 15:34 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Feld wird nicht gespeichert nach input_field_callback
    Von AxlF im Forum Entwickler-Fragen
    Antworten: 3
    Letzter Beitrag: 06.09.2010, 12:04
  2. Bug? Kommentar-Feld wird nicht überprüft?
    Von dieselboy im Forum Nachrichten/Events/FAQ
    Antworten: 0
    Letzter Beitrag: 26.07.2010, 15:13
  3. Feld wird in BE nicht angezeigt
    Von psren im Forum Entwickler-Fragen
    Antworten: 3
    Letzter Beitrag: 19.05.2010, 08:47
  4. Antworten: 18
    Letzter Beitrag: 18.12.2009, 10:05
  5. [gelöst] PHP Variable an anderes Element sicher übertragen?
    Von Stranger im Forum Sonstiges zu Contao
    Antworten: 4
    Letzter Beitrag: 01.10.2009, 08:41

Lesezeichen

Lesezeichen

Berechtigungen

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