Contao-Camp 2024
Ergebnis 1 bis 16 von 16

Thema: [erledigt] Dropdown list für Anrede

  1. #1
    Alter Contao-Hase
    Registriert seit
    10.04.2011.
    Ort
    Zürich
    Beiträge
    1.123

    Standard [erledigt] Dropdown list für Anrede

    Hallo zusammen,

    wie kann ich eine Dropdown-List bei der Anrede machen anstatt ein Textfeld? Hatte mal aus dem Forum den folgenden Code aufgegriffen:

    Code:
    $GLOBALS['TL_LANG']['tl_iso_addresses']['salutation'] = array('Salutation', 'Please enter the salutation (Mr, Mrs, Dr., Prof.).');
    Habe das in die langconfig.php eingefügt, aber es ändert sich nichts. Hat da jemand noch einen Ansatz?

    Viele Grüsse und Danke,
    David
    Geändert von sepp_a_u (16.08.2012 um 10:53 Uhr)

  2. #2
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Versuch mal die Werte als Array zu definieren, ich glaub da was zu gelesen zu haben.
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  3. #3
    Alter Contao-Hase
    Registriert seit
    10.04.2011.
    Ort
    Zürich
    Beiträge
    1.123

    Standard

    Wie immre danke für deine Hilfe. Nur weiss ich nicht wie das geht. Das einzige was ich "kann" ist CSS Daher bräuchte ich etwas mehr hilfe: Wie sieht so eine Definition als Array aus?

  4. #4
    Contao-Urgestein Avatar von KATgirl
    Registriert seit
    31.03.2010.
    Ort
    Marburg
    Beiträge
    1.579
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Aus dem Bauch raus würde ich folgendes in die lokale DCA eintragen:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] => array
    (
        
    'label'         => &$GLOBALS['TL_LANG']['tl_iso_addresses']['salutation'],
        
    'exclude'    => true,
        
    'filter'     => true,
        
    'sorting'    => true,
        
    'inputType'  => 'select',
        
    'default'    => 'pending',
        
    'options'    => $GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        
    'reference'  => &GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        
    'eval'         => array('mandatory'=>true'feEditable'=>true'feGroup'=>'address''tl_class'=>'w50''chosen'=>true),
    ); 
    In die lokale Sprachdatei

    PHP-Code:
    // Englisch
    if ($GLOBALS['TL_LANGUAGE'] == 'en')
    {
    $GLOBALS['TL_LANG']['ISO']['SALUTATION'] = array 
    (
      
    'mr' => 'Mr.',
      
    'mrs' => 'Mrs.',
      
    'ms' => 'Ms.',
    );
    }

    // Deutsch
    if ($GLOBALS['TL_LANGUAGE'] == 'de')
    {
    $GLOBALS['TL_LANG']['ISO']['SALUTATION'] = array 
    (
      
    'mr' => 'Herr',
      
    'mrs' => 'Frau',
      
    'ms' => 'Fräulein',
    );

    Sag mal ob's geklappt hat Dann bau ich das bei uns auch mal ein, das hat mich selber schon immer gestört ;-)

    Einen schönen Abend noch Kirsten.
    - GitHub
    - Kontaktanfragen

    "Ein Lächeln ist die kürzeste Entfernung zwischen zwei Menschen." Victor Borge

  5. #5
    Alter Contao-Hase
    Registriert seit
    10.04.2011.
    Ort
    Zürich
    Beiträge
    1.123

    Standard

    Habe es jetzt mal verscuht. Habe die system/config/dcaconfig.php bearbeitet und die sieht jetzt mit deinem code so aus:

    Code:
    <?php /* Put your custom configuration here */ 
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] => array
    (
        'label'      => &$GLOBALS['TL_LANG']['tl_iso_addresses']['salutation'],
        'exclude'    => true,
        'filter'     => true,
        'sorting'    => true,
        'inputType'  => 'select',
        'default'    => 'pending',
        'options'    => $GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        'reference'  => &GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        'eval'         => array('mandatory'=>true, 'feEditable'=>true, 'feGroup'=>'address', 'tl_class'=>'w50', 'chosen'=>true),
    ); 
    ?>
    habe dann auch den anderen code in die langconfig gepackt. beim aufruf der website kommt aber gleich ein fehler aus der dcaconfig:

    Code:
    Parse error: syntax error, unexpected T_DOUBLE_ARROW in /www/htdocs/w00ef2fd/system/config/dcaconfig.php on line 2
    was ist damit gemeint?

  6. #6
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die zweite Zeile muss anstelle von
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] => array 
    so lauten
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] = array 
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  7. #7
    Alter Contao-Hase
    Registriert seit
    10.04.2011.
    Ort
    Zürich
    Beiträge
    1.123

    Standard

    das wirft gleich den nächsten fehler hervor:

    Code:
    Parse error: syntax error, unexpected '[', expecting T_PAAMAYIM_NEKUDOTAYIM in /www/htdocs/w00ef2fd/system/config/dcaconfig.php on line 11

  8. #8
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    PHP-Code:
        'options'    => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        
    'reference'  => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'], 
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  9. #9
    Alter Contao-Hase
    Registriert seit
    10.04.2011.
    Ort
    Zürich
    Beiträge
    1.123

    Standard

    So scheint es zu funktionieren Danke an KATGirl für die Vorarbeit und xchs für das Fehler-Ausmerzen. Wäre super, wenn das Andreas in den Code für die neue Version übernehmen könnte. Kann es ihm jemand senden/sagen/schreiben?

    Hier der Code nochmal korrekt für die zwei Dateien, für alle, die es auch einbauen wollen:

    system/config/dcaconfig.php
    Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] = array
    (
        'label'      => &$GLOBALS['TL_LANG']['tl_iso_addresses']['salutation'],
        'exclude'    => true,
        'filter'     => true,
        'sorting'    => true,
        'inputType'  => 'select',
        'default'    => 'pending',
        'options'    => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        'reference'  => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'], 
        'eval'         => array('mandatory'=>true, 'feEditable'=>true, 'feGroup'=>'address', 'tl_class'=>'w50', 'chosen'=>true),
    );

    system/config/langconfig.php
    Code:
    // Anrede Englisch
    if ($GLOBALS['TL_LANGUAGE'] == 'en')
    {
    $GLOBALS['TL_LANG']['ISO']['SALUTATION'] = array 
    (
      'mr' => 'Mr.',
      'mrs' => 'Mrs.',
      'ms' => 'Ms.',
    );
    }
    // Anrede Deutsch
    if ($GLOBALS['TL_LANGUAGE'] == 'de')
    {
    $GLOBALS['TL_LANG']['ISO']['SALUTATION'] = array 
    (
      'mr' => 'Herr',
      'mrs' => 'Frau',
      'ms' => 'Fräulein', 
    );
    }
    LG und nochmals danke,
    David

  10. #10
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.613
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das kann ich leider nicht tun. Wir haben das Anrede-Feld absichtlich als Textfeld gemacht. Eine Anrede kann nicht nur "Herr" oder "Frau" sein, denn der "Herr Dr." zu Gutenberg will ja korrekt angesprochen werden. Und wie das in allen Ländern der Welt funktioniert weis sowieso keiner, eigentlich dürfte es nicht mal Vor- und Nachname geben: http://www.w3.org/International/ques...ersonal-names/
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

  11. #11
    Contao-Nutzer
    Registriert seit
    26.03.2012.
    Beiträge
    115

    Standard Funktioniert bis auf dem Umlaut in "Fräulein"

    Hallo!
    Bei mir hat die Lösung nicht 100% gepasst. Der Umlaut in "Fräulein" wurde nicht korrekt angezeigt. Diese altmodische Anrede ist jedoch verzichtbar und das Problem hat sich mit dem Löschen der Zeile in der langconfig.php erledigt.

    Grundsätzlich scheint die Anrede als Drop Down dennoch der bessere Weg, da man sich im Personalisieren von Mails auf einen vordefinierten Wertebereich verlassen kann. Der Argumentation von Adreas folgend muss eigentlich nur zwischen Anrede (Geschlecht) und Titel (akademischer Grad) unterschieden werden, und schon sollten beide Aspekte sauber berücksichtigt sein.

    Ggf. ist das für zukünftige Versionen interessant.

    VG
    Chris
    ______________________________________

    www.mit-liebe-gebacken.de

  12. #12
    Contao-Nutzer
    Registriert seit
    26.03.2012.
    Beiträge
    115

    Standard In Isotope 2.3.1 mit Contao 3.5.1 gehts nicht

    Hallo zusammen,

    es ist zum Mäuse melken. Das längst geklärt geglaubte Thema kommt bei meinen Arbeiten am Shop mit Isotope 2.3.1 wieder hoch. Bei der Gastbestellung bekomme ich es nicht hin, das Feld "Anrede" wieder zum Drop Down zu machen. Folgendes habe ich in der Config:

    dcaconfig.php:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'] = array
    (
        
    'label'      => &$GLOBALS['TL_LANG']['tl_iso_addresses']['salutation'],
        
    'exclude'    => true,
        
    'filter'     => true,
        
    'sorting'    => true,
        
    'inputType'  => 'select',
        
    'default'    => 'pending',
        
    'options'    => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'],
        
    'reference'  => &$GLOBALS['TL_LANG']['ISO']['SALUTATION'], 
        
    'eval'         => array('mandatory'=>true'feEditable'=>true'feGroup'=>'address''tl_class'=>'w50''chosen'=>true),
    ); 

    langconfig.php:
    PHP-Code:
    // Anrede Deutsch
    if ($GLOBALS['TL_LANGUAGE'] == 'de')
    {
    $GLOBALS['TL_LANG']['ISO']['SALUTATION'] = array 
    (
      
    'mr' => 'Herr',
      
    'mrs' => 'Frau',
    );

    Das ist der Stand, der in C2.11.9 und I1.4.7 geht.

    Vielen Dank für eure Unterstütung
    Chris
    ______________________________________

    www.mit-liebe-gebacken.de

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.682
    User beschenken
    Wunschliste

    Standard

    guck mal ob

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_addresses']['fields']['salutation'
    das richtige Array-Eintrag ist -> in den Übersetzungs-Dateien

  14. #14
    Contao-Nutzer
    Registriert seit
    26.03.2012.
    Beiträge
    115

    Standard Bingo!

    Ha, das ist einer der Unterschiede zwischen Urgestein und Nutzer - Volltreffer!

    Die Tabelle heißt in I2.3.1 'tl_iso_address'. So gehts:

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_address']['fields']['salutation'
    Vielen Dank!
    ______________________________________

    www.mit-liebe-gebacken.de

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.682
    User beschenken
    Wunschliste

    Standard

    prima...

    wenn ich mir das so ansehe, müsste es wohl konsequenterweise so heißen

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_address']['field']['salutation'

  16. #16
    Contao-Nutzer
    Registriert seit
    08.11.2009.
    Beiträge
    191

    Standard

    Funktioniert mit C44 und Isotope 2.5.7 immer noch, jedoch muss im DCA

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_iso_address']['fields']['salutation'
    verwendet werden, also ['fields'].

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
  •