Ergebnis 1 bis 15 von 15

Thema: MM (MetaModels) Frontendfilter Relateds / Verwandte Einträge

  1. #1
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Frage MM (MetaModels) Frontendfilter Relateds / Verwandte Einträge

    Hallo,

    ich habe ein Metamodel erstellt. Jeder Eintrag hat einen Wert aus einem Select-Feld (eine Kategorie). Ich möchte auf der Detailseite eine Liste mit verwandten bzw. related Beiträgen der selben Kategorie erstellen.

    Ich würde das gern mit einen Filter tun. Nur wie? Die "Einfache Abfrage" scheint da nicht zu klappen?

    Hat jemand einen Vorschlag?

    Danke

  2. #2
    Contao-Fan
    Registriert seit
    14.09.2014.
    Beiträge
    269

    Standard

    Genau sowas würde ich auch genre machen, bin gespannt wie die Lösungsvorschläge ausfallen.

    Leider gibts dazu kein Attribut, wäre aber sicher ein Sinnvolles, beim Catalog gabs das Ding ja schon.

  3. #3
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Gesicht zeigt die Zunge MM (MetaModels) Relateds / Verwandt / Ähnlich

    Hallo,

    ist mit MM Metamodels für Contao die Ausgabe von Relateds / Ähnliche Einträge / Verwandte Items möglich? Gibt es jemanden der das schon umgesetzt hat?

    LG

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

    Standard

    Hi,

    das geht eigentlich genau so wie man Daten aus einer Kind-Tabelle ausliest. Nur eben das man hier nicht auf eine Kind-Tabelle referenziert, sondern auf die selbe. Schaue Dir mal mein Posting hier dazu an: https://community.contao.org/de/show...l=1#post302088

    Grüße

    Chris

  5. #5
    Contao-Nutzer
    Registriert seit
    31.07.2009.
    Beiträge
    3

    Standard

    Zitat Zitat von formfarbe Beitrag anzeigen
    Hallo,

    ist mit MM Metamodels für Contao die Ausgabe von Relateds / Ähnliche Einträge / Verwandte Items möglich? Gibt es jemanden der das schon umgesetzt hat?

    LG
    Ich hatte das mit einem "Eigenes SQL"-Filter mal ausprobiert, wobei mit Hilfe des Alias erstmal der Wert aus dem entsprechenden Select-Feld des Items gezogen wurde und damit dann die verwandten Einträge ausgewählt worden. Am Ende hat der konkrete Einbau zumindest bei uns jedoch die Seitenladezeit ziemlich nach oben getrieben. Weils für uns erstmal auch nicht besonders essentiell ist, hab ich das damals dann nicht weiterverfolgt. Funktioniert hat es aber grundsätzlich.

  6. #6
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Frage

    Hi,

    danke danke. Allerdings:

    1. MetaModel > Einträge
    2. MetaModel > Select-Felder
    3. Rendert Liste
    4. Rendert Detailseite
    5. Auf Detailseite neue Liste hinterlegt mit deinen Template und dem SQL-Befehl wie gesehen.

    6. "Ihre Suche lieferte keine passenden Ergebnisse."

    Kannst du so lieb sein und mal kurz posten was ich noch individualisieren muss?

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

    Standard

    Dazu müsste ich ein paar mehr Infos haben, poste am besten mal dein komplettes Detailtemplate und wie das Attribut heißt, welche als Related dienen soll.

  8. #8
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Computer

    Metamodel 1:
    mm_eintraege
    Titel (titel), Beschreibung (beschreibung) und Kategorie (kategorie (Select-Feld))

    Metamodel 2:
    mm_kategorie
    Titel (titel) und Alias (alias)



    Detail-Template:


    Code:
    <?php if (count($this->data)): /* display only if there is data. */ ?>
    <?php foreach ($this->data as $arrItem): /* loop over all items. */ ?>
    
    <div class="<?php echo $arrItem['class']; ?>">
    
    	<h1><?php echo $arrItem['text']['titel']; ?> – <?php echo $arrItem['text']['kategorie']; ?></h1>
    	
    	<?php echo $arrItem['text']['beschreibung']; ?> 
    
    </div>
     
    <?php if ($arrItem['jumpTo']): ?><?php endif; ?>
    <?php endforeach; /* item loop */ ?>
    <?php else:  /* no items found */ ?><p class="info"><?php echo $this->noItemsMsg; ?></p>
    <?php endif; ?>


    Relateds-Template:


    Code:
    <?php $strRendersettings = ($this->settings)? 'settings' : 'view'; ?>
    <?php if (count($this->data)): ?>
    <?php foreach ($this->data as $arrItem): ?>
    
    
    
     <?php
            $objList = new MetaModels\ItemList();
            $objList
            ->setMetaModel(ID-ChildModel, ID-Rendersetting-ChildModel)
            ->setTemplateFormat($this->getFormat())
            ->setFilterParam(ID-FilterSetting-ChildModel, array('parent' => array('value' => $arrItem['raw']['id'])), array())
            ->prepare();
    
            echo $objList->render(false, $this); ?> 
    
    <div class="item <?php echo $arrItem['class']; ?>">
    
    <?php foreach ($this->data as $arrItem): /* loop over all items. */ ?>
    
    <div class="<?php echo $arrItem['class']; ?>">
    
    	<h1><?php echo $arrItem['text']['titel']; ?> – <?php echo $arrItem['text']['kategorie']; ?></h1>
    
    </div>
     
    <?php if ($arrItem['jumpTo']): ?><?php endif; ?>
    <?php endforeach; /* item loop */ ?>
    <?php else: ?>
    <p class="info"><?php echo $this->noItemsMsg; ?></p>
    <?php endif; ?>



    SQL-Filter:
    Eigenes-SQL – Aktiviert

    Code:
    SELECT id FROM {{table}} Where pid = {{param::get?name=kategorie}}

  9. #9
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Gesicht zeigt die Zunge

    Keiner eine Idee?

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

    Standard

    Such' doch mal im MM-Unterforum nach der Meldung Ihre Suche lieferte keine passenden Ergebnisse
    z.B.
    https://community.contao.org/de/show...den+Ergebnisse

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

    Standard

    Hi,

    da ist leider ein wenig was falsch in deiner Struktur. Die Liste

    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); ?>
    Gehört in dein Detail-Template und die Werte ID-ChildModel, ID-Rendersetting-ChildModel, ID-FilterSetting-ChildModel musst Du mit den richtigen Werten aus deinen MetaModels ersetzen. Je nach dem musst du auch das array
    PHP-Code:
    array('parent' => array('value' => $arrItem['raw']['id'])) 
    noch anpassen.

  12. #12
    Contao-Nutzer
    Registriert seit
    20.11.2010.
    Ort
    Dresden
    Beiträge
    51

    Standard So ist es doch einfacher? Oder täusche ich mich?


  13. #13
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    Kann es sein, dass sich bestimmte Methoden der ItemList geändert haben, bzw. nicht mehr existent sind?

    Beispiel:
    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); ?>
    Wenn ich diesen Codeblock in einer Nightly von vor ca. 2 Wochen (ich hoffe, die Info reicht ..) verwende (natürlich angepasst mit den entsprechenden IDs), dann tauchen Fehlermeldungen auf.

    Beispiel:
    • Fatal error: Call to undefined method MetaModels\ItemList::setTemplateFormat()
    • Fatal error: Call to undefined method MetaModels\ItemList::setFilterParam()


    Muss der oben genannte Block nun neu angepasst werden?

    Ich verwende Contao 3.5.28.

  14. #14
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    OK, hab´s wahrscheinlich selbst rausgefunden.

    Aus "setFilterParam" wird "setFilterParameters" unter Zuhilfsnahme von "setFilterSettings".
    Klappt bei mir jedenfalls (-;

  15. #15

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
  •