Ergebnis 1 bis 10 von 10

Thema: DCA - Wie Daten mehrerer anderer Tabellen verarbeiten?

  1. #1
    Contao-Nutzer
    Registriert seit
    26.10.2009.
    Beiträge
    86

    Standard DCA - Wie Daten mehrerer anderer Tabellen verarbeiten?

    Hallo zusammen.

    Ich habe ein paar Veranstaltungen (eigenes Modul) und diesen Keywords zugeordnet.

    In der Datenbank habe ich dies vereinfacht wie folgt abgebildet:

    Code:
    tl_foo_events (event_id)
    tl_foo_keywords (keyword_id, keyword)
    tl_foo_keywords_map (keyword_id, event_id)
    Nun würde ich das Modul gerne um die Möglichkeit erweitern die Keyword-Zuordnung
    dirkt in der Veranstaltungsmaske zu editieren.

    Im DCA (tl_foo_events) komme ich über 'foreignKey' aber nur an alle vorhanden Keywords,
    weil die eigentliche Zuordnung ja in tl_foo_keywords_map stattfindet.

    Code:
    'keywords' => array
    			(
    				'label'						=> &$GLOBALS['TL_LANG']['foo']['keywords'],
    				'inputType'					=> 'checkbox',
    				'foreignKey'				=> 'tl_foo_keywords.keyword',
    				'eval'						=> array ('multiple' => true)
    
    			)
    Frage ist also: Wie komme ich im DCA an die, der Veranstaltung zugeordneten, Keywords?
    Die Keywords mit in tl_foo_event zu schreiben ist keine Option (Thema Redundanz).
    Geändert von about:blank (18.12.2013 um 15:33 Uhr)
    ai can haz ur cookie plz?

  2. #2
    Contao-Fan Avatar von Sioweb
    Registriert seit
    12.08.2011.
    Ort
    Düsseldorf
    Beiträge
    405
    User beschenken
    Wunschliste

    Standard

    Ho!

    theoretisch müsste der foreignKey auf tl_foo_keywords_map.keyword_id zeigen. Aber du willst ja bestimmt die Titel der Keywords angezeigt bekommen, aus diesem Grund wirst du auf options_callback zurückgreifen müssen. In der Funktion kannst du dann mit den Models / ActiveRecords auf die Daten zugreifen die du brauchst und sie dir entsprechend ausgeben/formatieren.
    Grüße Sascha W. @Sioweb
    schadebalken.de | zurück-zu-montag.de
    +++ Programmierer von Change-Lok erfasst worden +++

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

    Standard

    Nur um sicher zu gehen, bevor ich an der Frage vorbei antworte: Deine Problemstellung lässt sich abkürzen in "Wie erreiche ich in Contao eine n:m-Beziehung?". Richtig?

    Welche Contao-Version?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  4. #4
    Contao-Nutzer
    Registriert seit
    26.10.2009.
    Beiträge
    86

    Standard

    Sry, dass ich jetzt erst antworte, ich musste mir erst neues Wissen aneignen.

    Contao 3.2

    Mit dem options_callback und activeRecord bin ich mittlerweile an die
    zugeordneten Keywords gekommen, welche auch wie gewünscht als checkbox ausgegeben werden.

    Was ich jetzt nicht verstehe ist, wie ich die restlichen Keywords mit in die Liste kriege?
    Genauer: Wie kriege ich von hier eine Liste aller Keywords in der die der Veranstaltung zugeordneten 'checked' sind.
    Geändert von about:blank (19.12.2013 um 17:39 Uhr)
    ai can haz ur cookie plz?

  5. #5
    Contao-Nutzer
    Registriert seit
    26.10.2009.
    Beiträge
    86

    Standard

    Ich habe die keywords jetzt mit in den event table genommen... und mit foreignKey läuft alles wie erwartet.

    Wenn noch jemand eine Idee hat, wie ich das mit einer keword_map umsetzen kann, immer her damit.
    ai can haz ur cookie plz?

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

    Standard

    Ich wiederhole meine Frage.
    Deine Problemstellung lässt sich abkürzen in "Wie erreiche ich in Contao eine n:m-Beziehung?". Richtig?
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  7. #7
    Contao-Nutzer
    Registriert seit
    26.10.2009.
    Beiträge
    86

    Standard


    Deine Problemstellung lässt sich abkürzen in "Wie erreiche ich in Contao eine n:m-Beziehung?". Richtig?
    Jap, sehr abgekürzt gesprochen
    ai can haz ur cookie plz?

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

    Standard

    Dann solltest du dir mal unsere Erweiterung "haste" reinziehen. Da bündeln wir ganz viele Helferlein für Entwickler mit rein. Unter anderem auch Support für n:m-Relationen.
    Alles was du machen musst, ist in deinem Feld den Relationstyp auf "haste-ManyToMany" setzen und die Zieltabelle angeben. Haste würde automatisch eine Zwischentabelle für dich anlegen (dynamisch beim Datenbankupdate), aber du kannst den Namen der Zwischentabelle auch manuell angeben.

    Weitere nette Features sind, dass du dein Frontend Model von der Haste Model-Klasse erben lassen kannst und "getRelated()" dann automatisch für dich auch die Zwischentabelle berücksichtigt. Ausserdem unterstützen wir auch out-of-the-box die DCA-Angabe "filter => true", die dir die Filtermöglichkeit im Backend ausgibt

    Mehr dazu hier: https://github.com/codefog/contao-ha...Model/index.md

    Momentan musst du noch den develop branch nutzen (Abhängigkeiten beachten), aber dieser Branch kommt wohl noch nächste Woche ins ER.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  9. #9
    Contao-Nutzer
    Registriert seit
    03.09.2009.
    Ort
    Baunatal
    Beiträge
    122
    Partner-ID
    6087

    Frage

    Ich schließe mich mal an: Ich habe haste installiert und im Backend speichert er mir auch alles. Wenn ich jetzt im Frontend mittels Model (geerbt von \Haste\Model\Model) Daten speichern will, funktioniert das nicht bzw. speichert er nichts in der Relations-Tabelle. Muss ich da was extra anstoßen?

    Viele Grüße,
    Wusch

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

    Standard

    Das wird im Moment nicht unterstützt. Es ist ein reines Lese-Model, aber du kannst gerne einen Pull Request machen und die Funktionalität hinzufügen.
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

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
  •