Ergebnis 1 bis 6 von 6

Thema: WERT aus select Menu

  1. #1
    Alter Contao-Hase Avatar von xkoy
    Registriert seit
    23.07.2010.
    Ort
    Mount Maunganui, New Zealand
    Beiträge
    1.035

    Standard WERT aus select Menu

    Servus,

    ich habe ein Select Menu. Dort vers. Länder ausgewählt:

    Wert: A
    Bezeichnung: Österreich

    In der Mail spucke ich mir das select mit {{form::land}} aus.

    Jedoch brauche ich die Länderkennungen, anstatt der Bezeichnung.
    Ist das möglich, irgendwie mit einem anderen insert tag?

    Danke

  2. #2
    Contao-Nutzer Avatar von DNS
    Registriert seit
    13.06.2010.
    Ort
    Kassel
    Beiträge
    174

    Standard

    Hi,

    hast du hierzu eine Lösung gefunden? Oder weiss mittlerweile jemand eine Lösung?

    DNS

  3. #3
    Contao-Nutzer Avatar von Luminanz
    Registriert seit
    02.02.2011.
    Beiträge
    198

    Standard

    Wäre ebenfalls an einer Lösung interessiert.
    Eventuell gibt es was neues

  4. #4
    Contao-Nutzer Avatar von gebi84
    Registriert seit
    22.10.2010.
    Ort
    Österreich/Vorarlberg
    Beiträge
    91

    Standard

    ich löse das über den hook prepareFormData, ein plugin ist mir nicht bekannt.

    Gesendet von meinem GT-N7100 mit Tapatalk

  5. #5
    Contao-Nutzer Avatar von Luminanz
    Registriert seit
    02.02.2011.
    Beiträge
    198

    Standard

    Hallo gebi84
    Danke für deinen Beitrag. Könntest du eventuell einen Auszug aus deinem hook posten?

  6. #6
    Contao-Nutzer Avatar von gebi84
    Registriert seit
    22.10.2010.
    Ort
    Österreich/Vorarlberg
    Beiträge
    91

    Standard

    sorry dass ich erst jetzt antworte, aber hatte recht viel um die Ohren :-)

    also den hook registrierst du in einer config Datei:

    PHP-Code:
    //zum Beispiel so: Ich verwende für das Autoloading den Namspaceclassloader 
    $GLOBALS['TL_HOOKS']['prepareFormData'][] = array('\Guave\Example\Classes\Hooks''parseCountryForEmail'); 
    PHP-Code:
    <?php
    namespace Guave\Example\Classes;

    class 
    Hooks {

            
    /**
         * @param array $arrSubmitted
         * @param array $arrLabels
         * @param \Form $form
         */
        
    public function parseCountryForEmail(&$arrSubmitted, &$arrLabels, &$form)
        {
            
    //prüfen ob land übermittelt wurde
            
    if(!in_array('land'$arrSubmitted)) {
                return;
            }

            
    //nun holen wir uns das FormField land aus der Form
            
    $countrySelect = \FormFieldModel::findOneBy(array('name=?''pid=?'), array('land'$form->id));

            if(!
    $countrySelect) {
                return;
            }

            
    //und nun holen wir uns die die Optionen der Select und suchen unser Value und ersetzen den in der From übergebenen Wert mit der Bezeichnung
            
    $options unserialize($countrySelect->options);
            foreach (
    $options as $option) {
                if(
    $option['value'] == $arrSubmitted['land']) {
                    
    $arrSubmitted['land'] = $option['label'];
                    return;
                }
            }

        }

    }
    Der Code ist schnell geschrieben und ungetestet, sollte aber so funktionieren.

    lg
    Gebi
    Geändert von gebi84 (15.09.2015 um 09:30 Uhr)

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
  •