BE -> Wie kann man verschiedene Tabelleneinträge verknüpfen und darstellen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • timbugto
    Contao-Nutzer
    • 19.03.2010
    • 90

    #1

    BE -> Wie kann man verschiedene Tabelleneinträge verknüpfen und darstellen

    Hallo,

    Ich habe folgendes Problem:
    Ich habe zwei Tabellen - eine Category und eine als Sub-Category. Diese beiden sollen nun verknüft und im BE als checkbox zum anwählen dargestellt werden. Die Tabelle Sub-Category erhält einen Zeiger (FID) auf die zugehörige Parent ID (Hauptkategorie).

    Anbei mal ein (ich hoffe) leicht verständliches Beispiel:


    Die Ausgabe im BE sollte so in etwa ausschauen:

    Mercedes:
    [] S-Klasse
    [] M-Klasse

    BMW:
    [] 750i
    [] 320i

    Nun kann ich aber erst immer alle Categorien auflisten und dann alle Sub-Categorien, was aber auch von der eingabe her gar keinen Sinn macht. Ich finde aber keine Lösung es in einer vernüftigen Reihenfolge auszugeben....
    Habe schon mit der Taxonomy Erweiterung herumgespielt, aber hatte damit auch nicht den gewünschten Effekt ereicht.

    Bisheriger Ansatz:

    'category' => array
    (
    'label' => &$GLOBALS['TL_LANG']['tl_takhayal']['category'],
    'exclude' => true,
    'filter' => true,
    'inputType' => 'checkbox',
    'foreignKey' => 't_category.name',
    'eval' => array('mandatory'=>true,'multiple'=>true),
    ),

    Hoffe mein Problem ist verständlich und man versteht meinen Ansatz.
    Zuletzt geändert von timbugto; 19.04.2010, 08:23.
  • aw029
    Contao-Nutzer
    • 29.07.2009
    • 44

    #2
    Hi,

    hast du meinen Beitrag in deinem anderen Post gesehen?
    Entwickler können hier Fragen zur Extension-Programmierung stellen Contao-Bugs hier melden: Contao-Bugtracker auf GitHub


    Vielleicht klappts ja mit der Taxonomy-Extension doch.

    Gruß
    Alexander

    Kommentar

    • timbugto
      Contao-Nutzer
      • 19.03.2010
      • 90

      #3
      Hi,

      sorry - habe es eben erst gesehen - ich werde es damit gleich noch einmal probieren, das schaut jetzt ganz gut aus.

      Werde berichten ob es geklappt hat...
      Dank dir

      Kommentar

      • deerwood
        Contao-Fan
        • 24.11.2009
        • 344

        #4
        Hi,

        ansonsten könntest Du auch statt foreignKey einen options_callback benutzen, in der Methode dann per SQL JOIN die beiden Tabellen verknüpfen und ein 2-dimensionales Array zurückliefern, dass für Dein Beispiel oben dann etwa so aussieht:
        PHP-Code:
        $result = array(
            'Mercedes' => array(
                1 => 'S-Klasse',
                2 => 'M-Klasse',
                ...
            ),
            'BMW' => array(
                3 => '750i',
                4 => '320i',
                ... 
            ),
            ...
        );
        return $result; 
        
        LG, Georg

        Kommentar

        • timbugto
          Contao-Nutzer
          • 19.03.2010
          • 90

          #5
          Hi,
          mit der options_callback hatte ich auch schon überlegt, aber leider bin ich da noch nicht dahinter gestiegen - bin in TL noch relativ neu.
          Werde es mir aber mal genau anschauen wie das funktionieren könnte.

          Kommentar

          • timbugto
            Contao-Nutzer
            • 19.03.2010
            • 90

            #6
            Super,

            mit der option_callback ging das super - genau das was ich gesucht hatte.

            Vielen Dank

            Kommentar

            Lädt...