Ergebnis 1 bis 39 von 39

Thema: MetaModels - Kindtabelle?

  1. #1
    Contao-Nutzer
    Registriert seit
    25.07.2011.
    Beiträge
    6

    Standard MetaModels - Kindtabelle?

    Hallo zusammen,

    habe mich bereits durch die Einträge zu MetaModels hier im Forum gelesen und auch speziell die Suche genutzt, sowie im contaowiki leider habe ich zu dem Thema Kindtabelle nichts genaueres gefunden. Wenn mir jemand erklären könnte wie die Kindtabelle in MetaModels einsetzt bzw. was sie bedeutet wäre ich dankbar.
    Ein Link zu einer Erklärung wäre auch ok.

    Ich hoffe ich meine Frage ist jetzt nicht zu dämlich, aber es gibt Tage da steht man einfach auf dem Schlauch und vielleicht ist das heute so ein Tag bei mir.

    Gruss Phillip

    P.S. Bin bisher sehr begeistert von der schon bestehenden Funktionalität der Extention.

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

    Standard

    Das ist eigentlich recht schnell erklaert.


    MetaModels koennen als "Kindtabelle" zu einer beliebigen anderen angehaengt werden.

    Nehmen wir z.B. an, du moechtest auf deine Items als "Kinder" an die Seitenstruktur klemmen, dann definierst du bei der "Backend integration" in den DCA settings (dt. glaub ich "Paletteneinstellungen") dass das MM als Kindtabelle zur tl_page eingebunden werden soll.

    Wenn du dann im Backend auf die Seitenstruktur gehst, wirst du dort neben den normalen icons bei jeder Seite ein weiteres icon vorfinden, welches dich dann zur Bearbeitung der Kindeintraege zu dieser Seite leitet.

    Im Frontend koenntest du dir dann noch einen Lister bauen, welcher als Filtersetting dann auf die aktuelle Seite filtert und hast somit dann auf jeder Seite genau die items aufgelistet, welche du im Backend an der Seite angelegt hast.

    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.

  3. #3
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Ich hab jetzt etwas mit der Kindtabelle rumgespielt, aber ich kapiert einfach nicht was passiert und wozu das gut ist. Ich würds gerne lernen und möchte nicht dumm sterben ;-) Bitte erkläre mir jemand noch einfacher als xtra (Vielen Dank dafür) was es damit auf sich hat. Ich kann auch nen „öffentliches“ Testsystem zur Verfügung stellen wenn gewünscht.

    Edit:
    Ich habs jetzt nochmal ganz langsam gelesen und so hinbekommen das es in der Seitenstruktur angezeigt wird. Aber wozu könnte man das sinnvoll einsetzen? Kann ich damit theoretisch andere Extensions mit eigenen Feldern ergänzen?
    Geändert von Tastaturberuf (07.05.2013 um 15:45 Uhr)
    Tastaturberuf | Code with ♥ and Contao.

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

    Standard

    Zitat Zitat von Cord Beitrag anzeigen
    Ich habs jetzt nochmal ganz langsam gelesen und so hinbekommen das es in der Seitenstruktur angezeigt wird. Aber wozu könnte man das sinnvoll einsetzen? Kann ich damit theoretisch andere Extensions mit eigenen Feldern ergänzen?
    Jain, du kannst im Endeffekt dich selbst an die Datensaetze von anderen Extensions "anheften", also einen Bezug auf sie definieren.

    Den Filter fyr die Ausgabe im FE musst du dann jedoch noch manuell definieren, was ein komplexes Thema ist.

    Sehr einfach erklaert, um bei deinem Beispiel mit der Seitenstruktur zu bleiben:
    Definiere dir einen eines SQL Filter, welcher "SELECT id FROM {{table}} WHERE pid={{env:age}}" beinhaltet.

    Das Verhalten im FE wird dann wie folgt sein: Der Lister zieht sich alle Datensaetze, welche auf der aktuellen Seite angezeigt werden sollen.

    Dies kannst du logischerweise noch weiter spinnen wie z.B. Tips&Tricks zu News Eintraegen hinzukleben usw.
    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 Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Hat gut funktioniert. Danke für die Erklärung! Is nen richtig gutes Feature.
    Tastaturberuf | Code with ♥ and Contao.

  6. #6
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Ich frage hier auch nochmal nach:

    ich habe eine SQL-Filter unterhalb eines FE-Filters angelegt - zum testen ganz hart mit fester ID

    SELECT id FROM mm_bilder WHERE pid IN (SELECT id FROM mm_kuenstler WHERE id='4')

    Wenn ich das so direkt abfrage, erhalte ich eigentlich 2 IDs - im Frontend tut sich aber gar nichts.
    Was mache ich hier noch falsch?

    Danke


    Mark

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

    Standard

    Filter nicht zugewiesen?

    Sind evtl. noch weitere Filterregeln beteiligt?

    Ohne deine genaue Konfiguration zu kennen ist hierbei schwer was zu sagen.
    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.

  8. #8
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Das verstehe ich, ich versuche es nochmal genauer:

    Ich habe also den Punkt hier -> http://de.contaowiki.org/MetaModels_...lter_erstellen
    erfolgreich gemeistert.

    Im Frontend gibt es eine Listenansicht mit den Datensätzen, die nur ein paar Felder enhalten -> ein
    Detailfilter sorgt für den Link zur Detailseite, der alle Felder eines Datensatzes enthält.
    Der Detailfilter ist ein Filter vom Typ "Einzelauswahl" auf das Attribut "Nachname" -> so dass die Detailseite
    in der URL mit dem Nachnamen aufgebaut wird.

    In dieser Detailansicht sollten nun noch Kindelemente angezeigt werden, die dem Datensatz zugeordnet sind.

    Dafür habe ich dem o.g. Filter einen weiteren hinzugefügt, der (wie in einem Seitenbaum) diesem untergeordnet ist.
    Der neue Filter ist ein CustomSQL, die SQL Abfrage enhält momenten einen harten SQL-Select, wo auf jeden Fall Ergebnisse
    kommen sollten:

    SELECT id FROM mm_bilder WHERE pid IN (SELECT id FROM mm_kuenstler WHERE id='4')

    Ich will also Einträge aus mm_bilder auslesen, die per mm_bilder.pid mit einer mm_kuenstler.id
    verbunden sind. Die "4" ist in dem Fall die ID, welche später durch einen entsprechenden InsertTag (wo bekomme
    ich den her?) ersetzt werden soll - also die ID des jeweiligen Datensatzes aus mm_kuenstler, der gerade angesehen wird.

    Soweit sehe ich auch durch - wenn es denn so richtig ist.

    Habe ich was vergessen? Die Verknüpfung im Backend haut hin, die Einträge in mm_bilder werden ordentlich
    in Abhängigkeit zu mm_kuenstler erstellt.


    Danke nochmals für Tipps

    Mark

    Dafür

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

    Nu breite das Thema doch nicht in 2 Threads aus.... Jetzt antwortet man dir schon in beiden und nirgendwo findet man deine ganze Beschreibung mal komplett.
    Zu dem Inserttag hab ich dir im anderen Thread schon was geschrieben.

    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."

  10. #10
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard

    Hab es hinbekommen - mein Fehler war, dass ich die Kindelemente an den Detailfilter des ElternMM hängen wollte.

    Mit einem eigenen Filter, einem zweiten Modul für die Kindelemente auf der Frontend-Seite hat es nun geklappt.

    Jetzt fehlt mir nur noch eine Idee, wie ich die id des ausgewählten MM per Insert-Tag unter Verwendung von inputvars in
    das SQL des Kindelement-Filters bekomme. Ich benötige sozusagen die id des ElterMM als Variable im SQL für den
    Kindelement-Filter.


    Getippt hatte ich auf {{get::id::mysql_real_escape_string}} - aber die id wird m.E. nicht per GET übergeben.
    Gibt es einen Insert-Tag speziell für den angezeigten Datensatz?


    Danke

    Mark

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

    Da sich inputvar die Variablen aus der URL holt, wirst du mal schauen müssen, wie du die URL von der Detailseite aufgebaut hast um dir den Teil da rauszufischen.

    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."

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

    Standard

    Das native SQL unterstytzt btw. inzwischen selbst solche tags. Die Extension inputvar ist nicht mehr notwendig.
    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.

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

    Zitat Zitat von xtra Beitrag anzeigen
    Das native SQL unterstytzt btw. inzwischen selbst solche tags. Die Extension inputvar ist nicht mehr notwendig.
    Uh... sehr nice !!!
    Gut zu wissen ;-)

    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."

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

    Standard

    Zitat Zitat von xtra Beitrag anzeigen
    Das native SQL unterstytzt btw. inzwischen selbst solche tags. Die Extension inputvar ist nicht mehr notwendig.
    Danke für den Tipp. Gibt's dafür irgendwo 'ne Beschreibung, welche Tags unterstützt werden?

    Gruß, folkfreund

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

    Standard

    eine komplette Doku gibt es noch nicht, jedoch haben wir ein niedliches kleines Ausrufezeichen neben dem Eingabefeld platziert, welches einige Anmerkungen beinhaltet.
    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.

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

    Standard

    Im FE ist es auch mir gelungen, die der Seite zugehörigen Werte aus der Child-Tabelle anzuzeigen.

    Code:
    SELECT id FROM mm_table WHERE pid='{{page::id}}'
    Problem: Bei der Eingabe im BE werden mir alle, also nicht nur die der Seite zugehörigen Einträge angezeigt.
    Frage: In welcher php-Datei ist dieser (meiner Meinung nach) Bug zu suchen ? Ich möchte nur mal probieren, ob es mit einem Zusatz in der Art "WHERE pid=id(parent-table)" funktioniert.

    @xtra: Zusatzfrage: wo finde ich das niedliche kleine Ausrufezeichen genau ? Ich find' das nicht.
    Geändert von KlausGrenoble (31.12.2013 um 00:07 Uhr)

  17. #17
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Wenn du Contao3 nutzt, sollte das Problem mit den Child-Einträgen eigentlich in der ganz aktuellen Nightly behoben sein.

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

    Standard

    Ich habe 3.2.3, eben das aktuelle nightly geladen und Du hast recht. Es funktioniert nun.

  19. #19
    Contao-Nutzer Avatar von kleine_Hexe
    Registriert seit
    07.09.2012.
    Ort
    bei Karlsruhe
    Beiträge
    31

    Standard

    Hi,

    was ist, wenn die Kindtabelle nicht an die Seitenstruktur sondern an ein anderes Metamodel geknüpft ist und man in der Detailansicht des Parent-Metamodels die zugehörigen Einträge der Kindtabelle ausgeben möchte?
    Also gebe ich 2 Listen aus. 1. mit den DEtails des parent-Metamodels und 2. die Details der Kindtabelle. Mir ist nur nicht ganz klar, wie die SQL-Abfrage in dem Filter für die Kindtabelle auszusehen hat.
    Wie stelle ich folgendes richtig dar:
    Code:
    SELECT id FROM mm_table WHERE pid='{{parent_metamodel_ID}}'
    wobei es den Inserttag "parent_metamodel_ID" natürlich nicht gibt...

    Oder anders gefragt: Wie komme ich an die ID des übergeordneten Metamodels?

    Danke und viele Grüße
    kleine_Hexe

    Ergänzung:
    Was wohl funktioniert, aber alles andere als schön ist:
    1. ein Attribut "kombinierter Eintag" mit ID belegen
    2. Alias mit obigem Feld belegen
    3. die ID aus der URL rausfummeln

    Das sieht dann bei einer url index.php/veroeffentlichungen_details/id-1.html so aus:

    Code:
    SELECT id FROM mm_kind_pubs WHERE pid=(SUBSTRING_INDEX(SUBSTRING_INDEX('{{env::request}}', '.', -2), '-', -1))
    <-- nicht schön...
    Geändert von kleine_Hexe (02.01.2014 um 13:12 Uhr)

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

    Standard

    Zitat Zitat von kleine_Hexe Beitrag anzeigen
    Oder anders gefragt: Wie komme ich an die ID des übergeordneten Metamodels?
    Ich versuche auch gerade, im FE parent- mit child-Infos auszugeben. Bekomme das auch noch nicht hin.
    Mit SQL in der DB schaffe ich das schon, nicht aber im Filter "Eigenes SQL".

    Code:
    SELECT * FROM mm_events INNER JOIN mm_eventstime ON mm_events.id=mm_eventstime.pid ORDER BY mm_events.sorting
    Aber irgendwie in der Richtung sollte es funktionieren...

  21. #21
    Contao-Nutzer Avatar von kleine_Hexe
    Registriert seit
    07.09.2012.
    Ort
    bei Karlsruhe
    Beiträge
    31

    Standard

    Hallo Klaus,

    hmmm, ich vermisse bei Dir eine Variable... wenn Du die Kindelemente auflisten willst, ist das ja abhängig von der pid. Aber welches Parent grade auf der Detailseite angezeigt wird, steht in keiner Datenbank drin. Also Bedarf es irgendeiner contao-Variablen. In meiner "Variante" hab ich das über die URL gelöst, aber ich wünsche mir eine schönere Lösung.

    Viele Grüße
    kleine_Hexe

  22. #22
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    wir lösen es bei uns immer wie folgt.

    1. Child-Model anlegen ( mit Rendersetting und allem )
    2. Einen Filter "eigenes SQL" anlegen mit folgender Query:
    PHP-Code:
    SELECT id FROM {{table}} Where pid = {{param::filter?name=parent}} 
    3. Eigenes metamodel_prerendered Template anlegen
    4. Folgenden Code in die Item-Foreach-Schleife an gewünschter Stelle einsetzen:
    PHP-Code:
    <?php
            $objList 
    = new MetaModels\ItemList();
            
    $objList
            
    ->setMetaModel(ID-ChildModelID-Rendersetting-ChildModel)
            ->
    setTemplateFormat($this->getFormat())
            ->
    setFilterParam(ID-FilterSetting-ChildModel, array('parent' => array('value' => $arrItem['raw']['id'])), array())
            ->
    prepare();

            echo 
    $objList->render(false$this); ?>
    5. Rendersetting für das ParentModel anlegen und das Custrom-Prerendered Template auswählen.

    Danach ganz normal fortfahren ...

  23. #23
    Contao-Nutzer Avatar von kleine_Hexe
    Registriert seit
    07.09.2012.
    Ort
    bei Karlsruhe
    Beiträge
    31

    Standard

    Hallo Typo,

    danke... nur ist es mir noch nicht klar... aber beim ausprobieren ist mir ein Teil klarer geworden.
    Hab jetzt folgende Abfrage:
    Code:
    SELECT id FROM {{table}} Where pid = {{param::get?name=parent}}
    wobei "parent" mein URL-Parameter im Detailfilter sein muss und ich dort die ID übergebe.

    Wenn ich Dich richtig verstanden, habt ihr keine extra-Liste für die Ausgabe der Kindtabelle, sondern integriert es in die Ausgabe des Parents? Deshalb müsst ihr im Template die Schleife einbauen?!?!


    Viele Grüße
    kleine_Hexe

  24. #24
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    danke... nur ist es mir noch nicht klar... aber beim ausprobieren ist mir ein Teil klarer geworden.
    Hab jetzt folgende Abfrage:
    Code:

    PHP-Code:
    SELECT id FROM {{table}} Where pid = {{param::get?name=parent}} 
    wobei "parent" mein URL-Parameter im Detailfilter sein muss und ich dort die ID übergebe.
    Nicht ganz ... wir übergeben keinen GET-Parameter sondern einen Filter-Parameter im Code. GET reagiert auf die URL-Parameter, das wollen wir in dem Fall ja nicht, weil wir ja die PID direkt übergeben können.

    Wenn ich Dich richtig verstanden, habt ihr keine extra-Liste für die Ausgabe der Kindtabelle, sondern integriert es in die Ausgabe des Parents? Deshalb müsst ihr im Template die Schleife einbauen?!?!
    Genau, wobei die Schleife schon da ist. Wir erzeugen in der Schleife nur ein neues Listen-Objekt. Ein zweites CE vom Typ MetaModels-Liste wäre hier auch schwierig, da man im Child erstmal die PID ermitteln müsste. Bei unserem Weg ist diese schon bekannt und kann direkt übergeben werden.

  25. #25
    Contao-Nutzer Avatar von kleine_Hexe
    Registriert seit
    07.09.2012.
    Ort
    bei Karlsruhe
    Beiträge
    31

    Standard

    Hi,

    möchte nur kurz Danke sagen. Ich hab grade nicht mehr die Ruhe gehabt, mir das genau anzuschauen, werde ich aber noch tun.

    Danke und viele Grüße
    kleine_Hexe

  26. #26
    Contao-Nutzer Avatar von kleine_Hexe
    Registriert seit
    07.09.2012.
    Ort
    bei Karlsruhe
    Beiträge
    31

    Standard

    Hallo Typo,

    ich hab es jetzt mal genauso gemacht und es funktioniert. Im ersten Anlauf hatte ich Deinen SQL-Filter zu einer MM-Liste genommen und bin gegen die Wand gefahren. Jetzt ist mir einigermaßen klar warum.

    Danke für den tieferen Einblick
    Viele Grüße
    kleine_Hexe

  27. #27
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard

    Hallo, fasse mich kurz:
    Contao 2.11.14

    Code:
    SELECT id FROM mm_referenzen_inhalte WHERE pid IN (SELECT id FROM mm_referenzen WHERE alias='{{get::alias::mysql_real_escape_string}}')
    funktioniert so leider nicht
    >>> Manuelles ersetzen von
    Code:
    {{get::alias::mysql_real_escape_string}}
    funktioniert.
    Wo mache ich den Fehler?
    aliase sind überall eingetragen, Kindeinträge korrekt.
    Hat sich hier ggf. was getan oder muss man das mit der aktuellen stable über den Umweg eines Referenzeintrages im Template machen?

  28. #28
    Contao-Fan Avatar von Hauge
    Registriert seit
    31.01.2010.
    Beiträge
    643

    Standard

    In meinem Falle hat nun folgendes funktioniert:
    Code:
    SELECT id FROM {{table}} WHERE pid IN (SELECT id FROM mm_zimmercategory WHERE alias={{param::get?name=zimmer&default=defaultcat}})

  29. #29
    Contao-Nutzer
    Registriert seit
    18.02.2010.
    Beiträge
    163

    Standard

    Sorry wenn ich den alten Thread hier nochmal ausgrabe, aber kann es sein das folgender Weg mit der aktuellen MM Version nicht mehr funktioniert?

    Zitat Zitat von typo Beitrag anzeigen
    Hi,

    wir lösen es bei uns immer wie folgt.

    1. Child-Model anlegen ( mit Rendersetting und allem )
    2. Einen Filter "eigenes SQL" anlegen mit folgender Query:
    PHP-Code:
    SELECT id FROM {{table}} Where pid = {{param::filter?name=parent}} 
    3. Eigenes metamodel_prerendered Template anlegen
    4. Folgenden Code in die Item-Foreach-Schleife an gewünschter Stelle einsetzen:
    PHP-Code:
    <?php
            $objList 
    = new MetaModels\ItemList();
            
    $objList
            
    ->setMetaModel(ID-ChildModelID-Rendersetting-ChildModel)
            ->
    setTemplateFormat($this->getFormat())
            ->
    setFilterParam(ID-FilterSetting-ChildModel, array('parent' => array('value' => $arrItem['raw']['id'])), array())
            ->
    prepare();

            echo 
    $objList->render(false$this); ?>
    5. Rendersetting für das ParentModel anlegen und das Custrom-Prerendered Template auswählen.

    Danach ganz normal fortfahren ...
    Bekomme nur diese Fehlermeldung:

    Fatal error: Call to a member function getFactory() on null in /Applications/MAMP/htdocs/websie/composer/vendor/metamodels/core/src/MetaModels/ItemList.php on line 344

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

    Standard

    Leider fehlt dir der Service Container, diesen musst du nun noch setzen.
    PHP-Code:
    <?php 
            $objList 
    = new MetaModels\ItemList(); 
            
    $objList 
            
    ->setServiceContainer($GLOBALS['container']['metamodels-service-container'])
            ->
    setMetaModel(ID-ChildModelID-Rendersetting-ChildModel
            ->
    setTemplateFormat($this->getFormat()) 
            ->
    setFilterParam(ID-FilterSetting-ChildModel, array('parent' => array('value' => $arrItem['raw']['id'])), array()) 
            ->
    prepare(); 

            echo 
    $objList->render(false$this); ?>
    Ich yberlege gerade ob ich dafyr einen impliziten fallback einbauen soll, damit es wieder ryckwaerts kompatibel ist.
    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.

  31. #31
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Ja bitte aufjedenfall einen Fallback einbauen. Gerade für ältere Projekte brauch ich das dringend.

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

    Standard

    Implementiert.
    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.

  33. #33
    Contao-Nutzer
    Registriert seit
    18.02.2010.
    Beiträge
    163

    Standard

    Wow! Super, dankeschön! Jetzt funktioniert das wieder.

  34. #34
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    Hallo Zusammen,
    Leider bin ich bei sql überhaupt nicht fit. Nun wurde ich gerne ein Problem lösen:
    Ich habe eine Elterntabelle mm_events bei der ich eine Child Tabelle zugeordnet habe mm_date nun werde ich gerne auf der Detailseite von mm_events jeweils den Inhalt von mm_date auslesen.
    Wie muss ich da vorgehen? Leider hat mir alles oben nicht geholfen da ich es nicht verstehe.
    Vielen Dank für die Hilfe.

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

    Standard

    ich würde erstmal darauf tippen, dass die Relation der beiden nicht "effektiv" gelöst oder die Abfrage "vom falschen Ende" aufgebaut ist...

    aber das Problem sollte sich damit lösen lassen

    http://de.contaowiki.org/MetaModels_...ferenced_items

    http://metamodels.readthedocs.org/de....html#beispiel

  36. #36
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    Vielen Dank für deine Hilfe. Nun ist die Frage warum ich überhaupt mit einem Child arbeite? Ich habe gedacht das wenn ich eine Tabelle einem Eltern Tabelle zuordne ich danach das Auswahl Feld mit Auswahl des Kunden nicht mehr brauchen würde.
    Wäre es nicht einfacher das über den Filter zu lösen, habe nur immer noch nicht herausgefunden wie das funktioniert.

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

    Standard

    Um Dir zu helfen, wäre es aus meiner Sicht wäre es am Besten, wenn Du nochmal einen "Schritt zurück" machst und beschreibst, welche Daten Du ablegen möchtest, wie die verknüpft sind und wie die Ausgabe aussehen soll. Auch eine kleine Skizze als "Blockdiagramm" der MM-Tabellen ist hilfreich.

    ... und mach ein neues Posting auf - ist eher neues Thema

  38. #38
    Contao-Nutzer
    Registriert seit
    27.03.2012.
    Beiträge
    21

    Standard

    Danke mache ein neues Thema draus.

  39. #39
    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
    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
  •