Ergebnis 1 bis 9 von 9

Thema: DCA Select-Field im FE mit mehrdimensionalem Array als Options

  1. #1
    Contao-Nutzer Avatar von dannNiel
    Registriert seit
    11.10.2010.
    Ort
    Graz
    Beiträge
    13

    Standard DCA Select-Field im FE mit mehrdimensionalem Array als Options

    Guten Morgen,

    ich erstelle in meiner Erweiterung für ein Modul ein Formular mittels DCA.
    http://nopaste.php-q.net/8190

    Ich erstelle mit dem options_callback ein mehrdimensionales Array damit ich gruppierte Options zur Auswahl habe. Die DCA sieht wie folgt aus: http://nopaste.php-q.net/8191 (viPortalBackend::getCategories http://nopaste.php-q.net/8193)

    Mein Problem ist nun, das es im BE einwandfrei funktioniert, jedoch im FE das Select-Field nicht richtig erstellt wird.

    In Zeile 59 (http://nopaste.php-q.net/8190) habe ich ein print_r(), das jedoch die options korrekt ausgibt: http://nopaste.php-q.net/8194

    Muss ich da noch ein weiteres Argument an $objWidget übergeben?
    Wo liegt mein Fehler?

    Vielen Dank!

  2. #2
    Contao-Nutzer Avatar von dannNiel
    Registriert seit
    11.10.2010.
    Ort
    Graz
    Beiträge
    13

    Standard

    Anbei die beiden Screenshots der fertigen Generierung.

    Vielen Dank!
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: png BE.png (22,4 KB, 39x aufgerufen)
    • Dateityp: png FE.png (11,0 KB, 33x aufgerufen)

  3. #3
    Contao-Nutzer Avatar von dannNiel
    Registriert seit
    11.10.2010.
    Ort
    Graz
    Beiträge
    13

    Standard

    Hatte noch niemand das selbige problem?
    Weiß jemand eine Extension, in der selbiges realisiert wurde, oder eine andere Lösungsmöglichkeit??

    Vielen Dank!

  4. #4
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Ort
    Fläsch
    Beiträge
    248

    Standard

    Also der Algorithmus scheint ja zu funktionieren, da es im Backend geht. Wird das print_r auch im Frontend korrekt ausgegeben?
    Hast du mit Debugging Ausgaben mal versucht, nachzuvollziehen an welchem Punkt das Skritp im Frontend nicht funtioniert?

    http://de.contaowiki.org/PHP_Debugging
    http://www.ideadapt.net - where ideas become code

  5. #5
    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

    Warum übergibst du den Feld pid die Optionen? Die entsprechenden Zeilen sind auskommentiert, aber ev. hast du es mit denen versucht?
    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

  6. #6
    Contao-Nutzer Avatar von dannNiel
    Registriert seit
    11.10.2010.
    Ort
    Graz
    Beiträge
    13

    Standard

    Hallo,

    das print_r() wird richtig ausgegeben.
    Wenn ich die Zeile 57-58 nicht auskommentiere, funktioniert es auch nicht.

    Vielen Dank!

  7. #7
    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 print_r() sollte "nicht richtig" ausgegeben werden. Das Widget arbeitet intern nicht mit mehrdimensionalen Arrays, diese müssten von der prepareForWidget()-Funktion konvertiert werden...
    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

  8. #8
    Contao-Nutzer Avatar von dannNiel
    Registriert seit
    11.10.2010.
    Ort
    Graz
    Beiträge
    13

    Standard

    Wie kann ich das mehrdimensionale Array dann richtig übergeben?

    Vielen Dank für eure Hilfe!

  9. #9
    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

    Normalerweise übergibst du das mehrdimensionale Array, bevor du prepareForWidget aufrufst. Contao verwendet Intern ein Array im Stil von:
    PHP-Code:
    array('label'=>'xxx''value'=>'xxx''default=>'1', 'group='1'), 
    wobei default + group natürlich meistens nicht gesetzt ist.
    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

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
  •