Ergebnis 1 bis 35 von 35

Thema: MetaModels verknüpfen - Probleme bei Frontendausgabe

  1. #1
    Contao-Nutzer
    Registriert seit
    03.03.2011.
    Beiträge
    177

    Standard MetaModels verknüpfen - Probleme bei Frontendausgabe

    Ich mache gerade meinen ersten Versuch beim Umstieg von Catalog auf MetaModels.

    Folgende Konstellation habe ich:

    Ich habe 3 MetaModels:

    Berufe
    Unternehmen
    Videos

    Wobei jedes Video einem Unternehmen und einem Beruf zugeordnet ist (habe ich über 2 Selects gemacht)

    Ein Eintrag im MetaModel Video sieht dann sozusagen so aus:

    Video-Link - Beruf (Referenz auf MM Berufe) - Unternehmen (Referenz auf MM Unternehmen)

    Im Backend klappt alles soweit.

    Mit der Ausgabe im Frontend hapert es gerade noch:

    Ich brauche eine Liste aller Berufe mit Link auf die Detailseite (klappt)
    Ich brauche eine Liste der Unternehmen mit Link auf die Detailseite (klappt)

    Wie bekomme ich nun auf der Detailseite die Ausgabe von Video hin mit den Daten aus den referenzierten MMs?

    Also ich klicke auf einen Beruf -> Detailseite soll nun das passende Video ausgeben mit den Daten des zugehörigen Unternehmens ...

    Kann mir jemand auf die Sprünge helfen???
    Danke schon mal im Voraus.

  2. #2
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Du kannst dir im Template alle Informationen holen die mit dem Eintrag verbunden sind. Wir haben z.B. derzeit eine Projektübersicht und wählen per Select für jedes Projekt einen Ansprechpartner aus. Die Ansprechpartner stehen alle in einer anderen MM Tabelle.

    Die Verknüpfung hole ich mir mit dem folgenden Code. Der Code muss in deiner ersten Foreach im Template stehen. Nicht ganz am Ende und auch nicht ganz am Anfang. Das ist wichtig da du sonst kein $arrItem zur Verfügung hast.

    PHP-Code:
    $objMetaModel MetaModelFactory::byTableName('mm_contact');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('alias'), $arrItem['text']['author'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter); 
    Die Tabelle der Ansprechpartner heißt "mm_contact", du musst da deine eintragen. Ich habe ja den Namen des Ansprechpartners, damit ist der Datensatz referenziert. In "$arrItem['text']['author']" steht der Name, der in der mm_contact als Alias dient "$objMetaModel->getAttribute('alias')".

    Diese 2 Werte musst du ändern damit sie zu deinem Projekt passen. Und dann rufst du den Datensatz den du dir grade gezogen hast über folgenden Code auf (wieder in der Foreach):

    PHP-Code:
    <?php echo $objItems->getItem()->get('email'); ?>
    So bekomme ich z.B. die E-Mail des Ansprechpartners. Wenn du wissen willst was dir alles Verfügung steht schreib folgendes in das Template:
    PHP-Code:
    <?php var_dump($objItems); ?>
    Such dir das Feld aus und schreib ein getItem()->get('DEIN FELD') dahinter. Und du bist fertig.
    Geändert von andreasisaak (10.06.2013 um 10:51 Uhr)

  3. #3
    Contao-Nutzer
    Registriert seit
    03.03.2011.
    Beiträge
    177

    Standard

    Danke!!! Das klappt soweit schon mal

    MM ist noch etwas gewöhnungsbedürftig ...

    Hab jetzt mal paar Testdatensätze angelegt ...

    Wenn ich nun in der Firmenliste auf einen Link klicke komme ich auf eine Detailseite wie z.B.:

    detailansicht/firma/Firmenname.html

    Jetzt will ich ja auf der Detailseite das Video ausgeben, das der Firma "Firmenname" zugeordnet ist.
    Welcher Filter wäre hier anzuwenden?

  4. #4
    Contao-Nutzer Avatar von luis
    Registriert seit
    08.08.2011.
    Ort
    Zürich
    Beiträge
    110

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    ...Die Verknüpfung hole ich mir mit dem folgenden Code. Der Code muss in deiner ersten Foreach im Template stehen. Nicht ganz am Ende und auch nicht ganz am Anfang. ...
    Könntest du ein komplettes Code-Beispiel hier publizieren? Wäre ein gutes Beispiel für "referenced items" in der Wiki-Doku. Ich würde dann mein Beispiel für "related items" beisteuern. ;-)

  5. #5
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Zitat Zitat von luis Beitrag anzeigen
    Könntest du ein komplettes Code-Beispiel hier publizieren? Wäre ein gutes Beispiel für "referenced items" in der Wiki-Doku. Ich würde dann mein Beispiel für "related items" beisteuern. ;-)
    Kann ich machen. Lass uns das Thema aber auf den nächsten Skype Call verschieben, ich würd das Template dann erst mit dir durchsprechen.

  6. #6
    Contao-Nutzer Avatar von cemplusm
    Registriert seit
    01.02.2013.
    Beiträge
    49

    Standard array leer

    Hi,

    ich bekomm leider keine Ausgabe zurück obwohl beide Werte richtig gesetzt sind. Woran kann das liegen ?

    PHP-Code:
    <?php 
    $objMetaModel 
    MetaModelFactory::byTableName('mm_pauschalen');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('region_pauschalen'), $arrItem['raw']['region']['id'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter); ?>
    <?php var_dump
    ($objItems); ?>
    Ausgabe:
    PHP-Code:
    object(MetaModelItems)#181 (2) { ["intCursor":protected]=> int(-1) ["arrItems":protected]=> array(0) { } } 
    Vielen Dank
    Geändert von cemplusm (20.06.2013 um 13:32 Uhr)

  7. #7
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Könntest du bitte Code mit [CODE] oder [PHP] markieren. Ist dann viel leichter lesbar.

    folkfreund

  8. #8
    Contao-Nutzer Avatar von cemplusm
    Registriert seit
    01.02.2013.
    Beiträge
    49

    Standard done

    alles klar danke

    hat jemand ne ahnung wo der Fehler liegen könnte ?

  9. #9
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Da könnten soviele Faktoren reinspielen.
    • Korrektes Rendersetting ausgewählt
    • Attribut im Rendersetting auch enthalten
    • Attribut im Rendersetting veröffentlicht
    • Tippfehler im Code
    • etc

  10. #10
    Contao-Nutzer Avatar von cemplusm
    Registriert seit
    01.02.2013.
    Beiträge
    49

    Standard Fehleranalyse

    Hi Andreas,

    danke für deine Antwort.

    Korrektes Rendersetting ausgewählt
    Attribut im Rendersetting auch enthalten
    Attribut im Rendersetting veröffentlicht
    Tippfehler im Code
    etc
    Diese Punkte treffen alle nicht zu. Ich habe 2 Metamodels: Regionen - Pauschalen.

    In der Datenbanktabelle "mm_regionen" ist die ID mit der "mm_pauschalen" > "'region_pauschalen" identisch.

    PHP-Code:
    $objMetaModel MetaModelFactory::byTableName('mm_pauschalen');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('region_pauschalen'), $arrItem['raw']['region']['id'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter); 
    echo $arrItem['raw']['region']['id'] gibt 2 zurück. Es gibt 5 Datensätze mit der id = 2 in der mm_pauschalen Tabelle.

    PHP-Code:
     <?php echo $objItems->getItem()->get('title'); ?>
    gibt einen Fatal-Error zurück, dass das Objekt leer ist.

    Hast du vllt ne Idee ?

    Vielen Dank im Voraus

  11. #11
    Contao-Nutzer Avatar von luis
    Registriert seit
    08.08.2011.
    Ort
    Zürich
    Beiträge
    110

    Standard

    Kämpfe grad mit dem selben Problem (siehe Thread). Ich glaube, sobald hier mit IDs gefiltert wird, greifen die Methoden nicht richtig. Arbeite an einer Lösung. Keep you posted.

    Nachtrag: Mit der ID klappt's nicht. Ein paar Entwickler haben mir eine Lösung präsentiert, die funktioniert, aber leider nicht so einfach ist. Mehr Infos folgen.
    Geändert von luis (27.06.2013 um 16:07 Uhr)

  12. #12
    Contao-Nutzer
    Registriert seit
    18.07.2009.
    Ort
    Irgendwo im schönen Badnerland!
    Beiträge
    68

    Standard

    Ich kämpfe mit einem kleinen Problem im Bezug auf die hier vorgestellte Verknüpfung.

    Ich habe zwei eigenständige Tabellen die ich durch eine Tabelle, wo Kunden gepflegt werden, verknüpfe.

    Projekt 1
    |---------------------> Kundendaten
    Projekt 2

    Jetzt möchte ich Daten aus Projekt 2 in Projekt 1 auflisten und diese durch den Kundennamen verknüpfen.

    PHP-Code:
    <?php 
    $objMetaModel 
    MetaModelFactory::byTableName('mm_projekt2');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('kundenauswahl2'), $arrItem['text']['kundenauswahl'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter);
    ?>

    Leider funktioniert es nicht!!!

    Wenn ich im Projekt 2 statt der Kundenauswahl ein Textfeld nutze und den Kundennamen direkt reinschreibe, dann wird der Datensatz angezeigt.
    Das getAttribute liefert anscheinend die ID während $arrItem den Namen liefert.

    Leider bin ich in diesem Bereich nicht so firm. Wie kann ich das getAttribute formatieren?
    Würde mich über einen Vorschlag freuen...
    Geändert von kein_nickname (07.08.2013 um 20:42 Uhr)

  13. #13
    Contao-Nutzer
    Registriert seit
    18.07.2009.
    Ort
    Irgendwo im schönen Badnerland!
    Beiträge
    68

    Standard

    Update:
    Habe das Ganze jetzt nicht gerade perfekt gelöst (erstelle automatisch ein Kundenaliasfeld und nutze dieses für die Überprüfung)

    PHP-Code:
    <?php 
    $objMetaModel 
    MetaModelFactory::byTableName('mm_projekt2');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('kundenalias'), $arrItem['raw']['kunde']['alias'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter);
    ?>
    Wenn ich nun <?php var_dump($objItems); ?> im Template eingebe, werden 2 von 3 Datensätze aufgelistet. Genau die, die mit dem Kundenalias übereinstimmen.
    Sobald ich

    PHP-Code:
    <?php echo $objItems->getItem()->get('XYZ'); ?>
    eingebe, wird aber nur 1 Datensatz angezeigt. Wie kann ich die gesamten Datensätze auflisten? Kann mir da jemand einen Tipp geben?

    Update 2:
    Mache dann mal weiter mit meinem Selbstgespräch...

    Habe es jetzt wie folgt gelöst, vllt. kann es ja jemand gebrauchen...
    Falls jemand eine bessere Idee hat nur heraus damit... ich hab eigentlich Null Ahnung von PHP.

    PHP-Code:
    <?php foreach($objItems AS $name): ?>
    <?php 
    echo $name->get('title').$name->get('teaser')."<a href=/details/".$name->get('alias').".html>Details</a><br/>"?>
    <?php 
    endforeach; ?>
    Damit kann man jetzt einfach die verknüpften Datensätze anzeigen.

    Das einzige was jetzt noch fehlt, ist die Sortierung nach einem EAN-CODE und das automatische Ausblenden wenn ein angegebenes Datum vorüber ist !!
    Zurzeit sortiert er nach der ID von Projekt2 und zeigt auch alle Daten an. Hat jemand einen Vorschlag?

    Update 3:
    Um die Sortierung zu verändern muss man folgende Werte einstellen
    PHP-Code:
    $objItems $objMetaModel->findByFilter($objFilter$strSortBy 'EAN-CODE'); 
    Nähere Informationen: https://github.com/MetaModels/core/b...IMetaModel.php

    Jetzt fehlt mir nur noch die Ausblendung bei vergangenen Datum...

    Im FE Filter geht dies ja durch

    PHP-Code:
    SELECT id FROM {{table}} WHERE enddatum >= UNIX_TIMESTAMP(CURDATE()); 
    doch diese Filter scheinen dabei nicht zu greifen.
    Jetzt bin ich wirklich auf Hilfe angewiesen...

    Update 4:
    Das mit dem Datum-Filtern hat jetzt irgendwie auch funktioniert.
    Ein PHP-Nerd bekommt dabei wahrscheinlich Schweißausbrüche, aber er darf gerne ein paar Tipps einbringen, ist ja auch der Sinn einer Community
    denn wer stirbt schon gern dumm...

    Für alle Anderen, die so wie ich nur rudimentäre oder gar keine Programmiererfahrung haben,
    aber vllt. an einem ähnlichen Problem nagen, hier nochmals meinen kompletter Workaround:.

    PHP-Code:
    <?php 
    $objMetaModel 
    MetaModelFactory::byTableName('mm_projekt2');
    $objFilter $objMetaModel->getEmptyFilter();
    $objFilter->addFilterRule(new MetaModelFilterRuleSearchAttribute($objMetaModel->getAttribute('kundenalias'), $arrItem['raw']['projekt1verknüpfung']['kundenalias'], $objMetaModel->getAvailableLanguages()));
    $objItems $objMetaModel->findByFilter($objFilter$strSortBy 'EAN-CODE');
    ?>
    PHP-Code:
    <?php foreach($objItems AS $name): ?>
    <?php $tmpstamp 
    $name->get('enddatum'); $datum date("d.m.y",$tmpstamp); ?>
    <?php 
    if ($datum >= date("d.m.y")): ?>
    <?php 
    echo $name->get('title').$name->get('EAN-CODE').$name->get('teaser')." "."<a href=/details/".$name->get('alias').".html>Details</a><br/>"?>
    <?php 
    endif; ?>
    <?php 
    endforeach; ?>
    Herzlich Dank an andreasisaak für den gelieferten Programmcode für die Verknüpfung von Tabellen

    Genialer wäre es natürlich wenn es eine automatische Lösung direkt durch MetaModels geben würde.
    Geändert von kein_nickname (08.08.2013 um 10:39 Uhr)

  14. #14
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Es geht tatsächlich komplett über das MetaModels aber ich habe deinen Beitrag leider nicht gesehen gehabt weil ich bei Updates von bestehenden Beiträgen nicht vom System informiert werde.

  15. #15
    Contao-Nutzer
    Registriert seit
    22.07.2009.
    Ort
    Frankfurt
    Beiträge
    33

    Frage HTML5 statt Raw Daten ausgeben möglich?

    Vielen Dank Andreas für den Code, der funktioniert bestens.

    Leider möchte ich aber ein Longtext Attribut mit TinyMCE HTML Code einbinden (damit den Text formatiert werden kann), bekomme aber nur Plaintext.
    Kann man irgendwie auf das HTML5 Template des Attributs zugreifen um auch Markup einzubinden?

    Danke für Eure Hilfe

    Roland

    Bitte vergesst es, es geht doch. Die Tags werden als Entities mitgeliefert.
    Geändert von rpquadrat (22.10.2013 um 13:30 Uhr)

  16. #16
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Wenn man das Attribut in der Liste der FE-Ansicht (Render setting list) editiert, kann man das Template auswählen, falls es mehrere gibt (was selten der Fall ist). Für longtext ist es meiner Meinung mm_attr_longtext.

  17. #17
    Contao-Nutzer
    Registriert seit
    15.05.2012.
    Beiträge
    171

    Standard

    Du kannst dir im Template alle Informationen holen die mit dem Eintrag verbunden sind.
    Helft mir auf die Sprünge: In welches TEMPLATE muss ich diesen Code einbauen, damit ich in der Ausgabe eine Verknüpfung zu einer Kindtabelle bekomme?

  18. #18
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Gibt es zum Verknüpfen von MetaModels mittlerweile eine Art Anleitung oder Dokumentation?
    In welchem Template muss ich diesen Code einfügen und kann ich ein eigenes Template für die verknüpften Elemente definieren?

    Irgendwie kam mir das im Katalog mit "Katalog Referenz" wesentlich einfacher vor, da man das dort nicht alles komplett manuell machen musste bzw. alles recht einfach im Backend definieren konnte.
    Und dort konnte man z.B. pro Katalog-Referenz ein eigenes Template hinterlegen.

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

    Standard

    ... kommt auf Dein Ziel an... an sich musst Du zum Verknüpfen - also eine Relation erstellen - kein Template anpassen, z.B. geht das über das Attribut Auswahl [select] oder Mehrfachauswahl [tags]

  20. #20
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Das habe ich bereits gemacht. Ich habe zwei "Tag"-Felder angelegt um die Einträge zwei anderen "Katalogen" zuzuordnen. Das funktioniert im Backend auch bereits.

    Nun möchte ich diese Einträge bei den beiden anderen Katalogen auf der Detailseite mit ausgeben.

    Aber wo gebe ich dann an, dass die verknüpften Einträge ausgegeben werden sollen und welches Template für die verknüpften Einträge verwendet werden soll?
    Das hat man beim Katalog ja im Frontend-Modul "Katalog-Referenz" gemacht.
    Geändert von Chris87 (01.07.2015 um 13:27 Uhr)

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

    Standard

    von dem referenziertem MM werden nicht automatisch alle Inhalte ausgebeben - guck dir mal das Array hiermit an http://de.contaowiki.org/MetaModels_...plate_anpassen

  22. #22
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Ich hoffe, ich habe es korrekt verstanden:

    Also gibt es für die "Verknüpfungs-Einstellungen" keine grafische Oberfläche, wo man Einstellen kann, welche Felder ausgegeben werden sollen und welches Template verwendet werden soll?

    D.h. ich kann auch kein eigenes Template für die referenzierten Einträge auswählen, sondern muss die Ausgabe der referenzierten Einträge im Template des "Hauptelements" manuell vornehmen?

    Das fände ich irgendwie unschön, denn ich möchte die referenzierten Einträge (mit der gleichen Darstellung) in zwei verschiedenen Katalogen auf der Detailseite mit ausgeben. Das würde ja bedeuten, dass ich bei Änderungen immer beide Templates anpassen muss.

    Beim Katalog hätte ich nur das Template für die Katalog-Referenz ein mal anpassen müssen.

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

    Standard

    ... soweit korrekt verstanden - zumindest kenne ich keinen anderen Weg/Einstellungen

    => da ich die Templates sowieso anpasse, stört(e) mich die Sache (bisher) nicht

    ... vielleicht kommt ja mal sowas https://github.com/MetaModels/core/issues/777

  24. #24
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Äh.. die Verknüpfung machst du ja mit Select oder Tags.
    Die Ausgabe kannst du dann mit einer Eigenen Liste und einem eigenen Filter machen (Filter geht dann über das aktuelle Item -> auto_item) und gibt alles aus. Da das dann ein eigenes CE oder Modul ist für diese Liste kansnt du da auch das Template auswählen und natürlich vorher auch ne komplette Ansicht im Backend für diese Liste erstellen.
    Also eigentlich alles wie früher, nur das du den Filter selber machst. Dadurch also um einiges Flexiebler und einfacher.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  25. #25
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Äh.. die Verknüpfung machst du ja mit Select oder Tags.
    Die Ausgabe kannst du dann mit einer Eigenen Liste und einem eigenen Filter machen (Filter geht dann über das aktuelle Item -> auto_item) und gibt alles aus. Da das dann ein eigenes CE oder Modul ist für diese Liste kansnt du da auch das Template auswählen und natürlich vorher auch ne komplette Ansicht im Backend für diese Liste erstellen.
    Also eigentlich alles wie früher, nur das du den Filter selber machst. Dadurch also um einiges Flexiebler und einfacher.

    Viele Grüße
    Das klingt ja super, wenn ich das richtig verstanden habe. D.h. ich mache die Listenansicht für den referenzierten Katalog einfach als Modul mit auf die Detailseite des anderen Katalogs?
    Ich probiere das gleich mal aus.

  26. #26
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, genau. Wichtig ist eben der passende Filter. Dazu einfach nen SQL-Filter machen und dort mal auf das Ausrufezeichen klicken (da sind auch gute Beispiele drinn), da sieht man dann was so gehen kann ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

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

    Standard

    Ich bin von _einem_ Listingmodul ausgegangen - auf der Detailseite kann man natürlich so viele Ausgabeelemente wie gewünscht rein setzen...

  28. #28
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Also in dem eigenen SQL frage ich dann z.B. ab, ob die ID aus dem Tag-Attribut der referenzierten Tabelle die gleiche ID hat, wie der Eintrag den ich mir auf der Detailansicht ausgeben lasse?
    Und dann würden mir in der Liste nur die zugeordneten Einträge aus der referenzierten Tabelle ausgegeben werden?

    Mit welchem Inserttag komme ich denn an die ID des Eintrags auf der Detailansicht?

    Nachtrag:
    Was mir gerade nebenbei aufgefallen ist. Die Tags-Attribute haben in meiner referenzierten Tabelle (in der Datenbank) keine eigene Spalte wo die ID abgespeichert wird.
    Bei einem Select-Attribut gibt es eine Spalte, in der die ID abgespeichert wird. Nur wie kann ich die ID aus dem Tags-Attribut abfragen, wenn ich dazu keine Spalte in der Tabelle habe?
    Geändert von Chris87 (02.07.2015 um 09:26 Uhr)

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

    Standard

    ich dachte an sowas wie

    PHP-Code:
    domain.de/berufe/details.html?alias=koch 
    wird

    1.) Detail zu alias='koch' aus mm_berufe ausgegeben...

    2.) Listenmodul zu mm_unternehmen bei denen jobs='<alias>'

  30. #30
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Also ich nehme hier mal als Beispiel meine Kataloge bzw. MetaModels.

    Katalog 1 = Softwaremodule (mm_module)
    Katalog 2 = Screenshots (mm_screenshots)

    Die Screenshots sollen nun den Modulen zugeordnet werden.

    In mm_screenshots gibt es ein Tag-Attribut "modul" bei dem ich die Zuordnung zu mm_module herstelle.
    Die Spalte für dieses Tag-Attribut heißt ebenfalls "modul", ist aber nicht als Spalte in der Tabelle mm_screenshots in der Datenbank angelegt. Wieso?
    Bei Select-Attributen gibt es eine Spalte in der DB, in der die ID gespeichert wird, bei Tags nicht? Wie soll man dann die Spalte im Filter abfragen, wenn sie nicht vorhanden ist?

    Die Detailansicht der Module sieht dann als URL z.B. so aus: www.domain.de/modul/terminverwaltung.html
    Dort sollen dann alle Screenshots als Liste mit ausgegeben werden, die beim Tag-Attribut "modul" dem entsprechenden Modul (in diesem Fall: Terminverwaltung) zugeordnet sind.

    Dafür habe ich bei mm_screenshots einen Filter "eigenes SQL" angelegt, aber ehrlich gesagt weiß ich nicht, wie die Abfrage dort aussehen muss.

    Gruß
    Christoph

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

    Standard

    Die Spalte für dieses Tag-Attribut heißt ebenfalls "modul", ist aber nicht als Spalte in der Tabelle mm_screenshots in der Datenbank angelegt. Wieso?
    => guck mal bei Google zum Thema "m:n-Relation"

    Deine Detailseite Module sollte soweit das anzeigen

    * Details des ausgewählten Moduls (Terminverwaltung)
    * Liste aller Screenshots

    nun muss die Screenshotliste per Filter eingegrenzt werden - es sollen nur die angezeigt werden, die eine Relation zu "Terminverwaltung" haben => korrekt?

    m.E. sollte das wie hier beschrieben (noch) funktionieren http://de.contaowiki.org/MetaModels_Beispiel_4

  32. #32
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Deine Detailseite Module sollte soweit das anzeigen

    * Details des ausgewählten Moduls (Terminverwaltung)
    * Liste aller Screenshots
    Ja, richtig. So sieht es momentan aus.

    Zitat Zitat von zonky Beitrag anzeigen
    nun muss die Screenshotliste per Filter eingegrenzt werden - es sollen nur die angezeigt werden, die eine Relation zu "Terminverwaltung" haben => korrekt?
    Ja, so soll es sein.

    Zitat Zitat von zonky Beitrag anzeigen
    m.E. sollte das wie hier beschrieben (noch) funktionieren http://de.contaowiki.org/MetaModels_Beispiel_4
    Schaue ich mir gleich mal an.

    Vielen Dank für deine Hilfe

  33. #33
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Ok, es scheint zu funktionieren. Vielen Dank
    Angehängte Grafiken Angehängte Grafiken

  34. #34
    Contao-Fan
    Registriert seit
    08.12.2009.
    Beiträge
    719

    Standard

    Kann ich mir eigentlich auch auf dem gleichen Weg wie ich MetaModels miteinander verknüpfe auch MetaModels mit News verknüpfen und dann auf bestimmten Newsseiten Informationen aus MetaModels ausgeben lassen, indem ich auf der Newsreader Seite auch noch eine MetaModels Liste mit ausgebe?

  35. #35
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du könntest einen MM als Kind-Tabelle den News unterjubeln und da dann Daten erfassen, die du dann mit dem Listenmodul oder Content-Element ausgibst.
    Also an sich: ja.

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

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
  •