Ergebnis 1 bis 5 von 5

Thema: BUG? DCA - Field - Select - Options

  1. #1
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard BUG? DCA - Field - Select - Options

    Hallo ich habe folgendes Feld definiert:

    PHP-Code:
    'city_district' => array
    (
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district'],
    'exclude' => true,
    'filter' => true,
    'search' => true,
    'inputType'     => 'select',
    'options' => &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'],
    'eval'     => array('mandatory'=>true,'includeBlankOption'=>true,'tl_class'=>'w50')

    Hier der Auszug der Language-Datei mit den Options:

    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('außerhalb Gera','Gera Innenstadt','Gera (Lusan)'
    Wie man sieht habe ich dem Array für die Options keine Schlüssel zugewiesen. Weise ich dem Datensatz nun "Gera Innenstadt" speicher den Datensatz und öffne ihn wieder, so bleibt "Gera Innenstadt" selektiert. Wähle ich hingegen "Gera (Lusan)" speicher den Datensatz und öffne ihn wieder, so selektiert er "außerhalb Gera".

    TL kann wohl bei den Options keine Einträge mit Klammern verarbeiten!?

    Ist das ein Fehlverhalten von mir oder von TL?

    Grüße aus Gera ;-)

  2. #2
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    In die options gehören die direkten Werte.
    Die zugehörigen Sprachteile werden mit "reference" definiert.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  3. #3
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard

    Tut mir leid ... aber das begreif ich grad nicht :-(

    Wenn ich folgendes mache:

    PHP-Code:
    'city_district' => array
    (
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district'],
    'exclude' => true,
    'filter' => true,
    'search' => true,
    'inputType'     => 'select',
    'options' => array('umland','innenstadt','lusan'),
    'reference' =>  &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'],
    'eval'     => array('mandatory'=>true,'includeBlankOption'=>true,'tl_class'=>'w50')

    mit Language-File:

    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('außerhalb Gera','Gera Innenstadt','Gera (Lusan)'
    gehts nicht, da zeigt er die Indexe aus Options an.

    So würde es gehen:

    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('umland'=>'außerhalb Gera','innenstadt'=>'Gera Innenstadt','lusan'=>'Gera (Lusan)'
    Aber warum dann den Weg über reference, wenn man es gleich so machen könnte:

    PHP-Code:
    'city_district' => array
    (
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district'],
    'exclude' => true,
    'filter' => true,
    'search' => true,
    'inputType'     => 'select',
    'options' =>&$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'],
    'eval'     => array('mandatory'=>true,'includeBlankOption'=>true,'tl_class'=>'w50')

    mit Language-File:

    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('umland'=>'außerhalb Gera','innenstadt'=>'Gera Innenstadt','lusan'=>'Gera (Lusan)'

    Kann ich dann eigentlich im Frontendmodul auf &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options']['...'] zugreifen, damit da nicht der index, sondern der Wert ausgegeben wird!?

    Grüße, Andy

  4. #4
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von xs-hoppelhase Beitrag anzeigen
    Tut mir leid ... aber das begreif ich grad nicht :-(
    So lasse er sich verklaeren.

    Zitat Zitat von xs-hoppelhase Beitrag anzeigen
    So würde es gehen:
    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('umland'=>'außerhalb Gera','innenstadt'=>'Gera Innenstadt','lusan'=>'Gera (Lusan)'
    Und genau so macht man es auch. Das macht naemlich nur so Sinn.

    Zitat Zitat von xs-hoppelhase Beitrag anzeigen
    Aber warum dann den Weg über reference, wenn man es gleich so machen könnte:
    PHP-Code:
    'city_district' => array
    (
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district'],
    'exclude' => true,
    'filter' => true,
    'search' => true,
    'inputType'     => 'select',
    'options' =>&$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'],
    'eval'     => array('mandatory'=>true,'includeBlankOption'=>true,'tl_class'=>'w50')

    mit Language-File:
    PHP-Code:
    &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options'] = array('umland'=>'außerhalb Gera','innenstadt'=>'Gera Innenstadt','lusan'=>'Gera (Lusan)'
    So, nun stell dir mal fyr einen kurzen Moment vor, ich komme aus einem fernen Land, nehmen wir mal an Russland. Der core ist auf russisch ybersetzt, deine Extension noch nicht bzw. nur Teilweise.
    Es fehlen dann Sprachvariablen.
    In obiger Version ist dies kein so grosses Problem, da sind immernoch alle Optionen auswaehlbar. Die heissen dann nur wie der Index (das hattest du in obigem, nicht funktionierenden Beispiel, schon bemerkt).
    Schlimm wird es jedoch, wenn du es wie in deinem letzten Beispiel realisieren wolltest. Da fallen dann einige Optionen einfach "heraus", einfach weil sie keinen Ybersetzungstext haben.
    Dadurch aendert sich dann schlimmstenfalls noch die Reihenfolge, weil die hinteren Items "hochrutschen" um die "Lycken" zu fyllen und schon ist die komplette Aussage der Select im schlimmsten Fallle beim Teufel.
    Deshalb sind die options fix und von den Texten getrennt.

    Zitat Zitat von xs-hoppelhase Beitrag anzeigen
    Kann ich dann eigentlich im Frontendmodul auf &$GLOBALS['TL_LANG']['tl_immo_expose']['city_district']['options']['...'] zugreifen, damit da nicht der index, sondern der Wert ausgegeben wird!?
    Grüße, Andy
    Die keys in die Texte umzuwandeln ist Sache deines Moduls.
    Fyr Faule gibt es jedoch die Kurzvariante
    PHP-Code:
    $this->loadLanguageFile('tl_something'); 
    welche die Sprachdatei des jeweiligen DCA laedt, dann kannst du auf die Sprachvariablen zugreifen.

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  5. #5
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard

    Zitat Zitat von xtra Beitrag anzeigen
    So, nun stell dir mal fyr einen kurzen Moment vor, ich komme aus einem fernen Land, nehmen wir mal an Russland.
    Überzeugt - macht Sinn. Danke für den Klapps auf den Hinterkopf. ;-)

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 07.07.2010, 18:45
  2. DCA "inputType select" Werte unter Options Sprachunabhängig
    Von nicknolte im Forum Entwickler-Fragen
    Antworten: 2
    Letzter Beitrag: 23.02.2010, 23:51
  3. Frontend-Formularprogrammierung: Probleme mit den Options
    Von Seitengestalter im Forum Formulare
    Antworten: 0
    Letzter Beitrag: 10.02.2010, 20:42
  4. FormField Select Options mit Value und Label
    Von hoernchen im Forum Sonstiges zu Contao
    Antworten: 2
    Letzter Beitrag: 14.01.2010, 09:16
  5. DCA Dateiupload als Field
    Von SharkeyO im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 14.07.2009, 20:13

Lesezeichen

Lesezeichen

Berechtigungen

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