Ergebnis 1 bis 28 von 28

Thema: Meta Models Filter Template

  1. #1
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Beitrag Meta Models Filter Template

    Hallo,

    habe eine Frage und zwar kann man die Filter nur so aus geben lassen??
    PHP-Code:
    <?php echo $filter['value']; ?>
    oder kann man diese Irgendwie einzeln ansprechen wie z.b. wie bei Katalog einzelne Felder auslesen z.b. wie hier
    PHP-Code:
    <?php echo $entry['data']['bildname']['value']; ?>
    greetz matp

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

    Standard

    In welchem Template befindest du dich?

  3. #3
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    In welchem Template befindest du dich?
    hi,

    befinde mich im mm_filter_default

    möchte gerne das ich pro filter das ausgeben kann.

    PHP-Code:
    <div class="widget <?php echo $filter['class']; ?>">
      <div class="header">
        <?php echo $filter['label']; ?>
        <?php echo $filter['value']; ?>
      </div>
      <div class="bild">
        <p>BILD</p>
      </div>
      <div class="anfragebutton">
        <p>ANFRAGEN</p>
      </div>
    </div>
    aber leider mach es mit hier " <?php echo $filter['label']; ?>" alle filter in eine Liste <ul> und dort dann jeden einzelnen in <li>

    möchte aber das jeder filter einen header,bild & anfragebutton erhält.

    nice greetz matp

  4. #4
    Contao-Nutzer
    Registriert seit
    04.11.2011.
    Beiträge
    5

    Standard

    Falls ich dich richtig verstanden habe dann kannst du jeden einzelnen Filter mit dem Template "mm_filteritem_" steuern. Du solltest die Templateauswahl auch beim Erstellen oder Bearbeiten der Filtereinstellungen sehen.

    Angehängte Grafiken Angehängte Grafiken

  5. #5
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von itaikun Beitrag anzeigen
    Falls ich dich richtig verstanden habe dann kannst du jeden einzelnen Filter mit dem Template "mm_filteritem_" steuern. Du solltest die Templateauswahl auch beim Erstellen oder Bearbeiten der Filtereinstellungen sehen.

    hi,

    ja danke genau das haba ich gesucht

    jetzt noch eine Frage wie kann ich einzelne Felder aus der Datenbank auslesen z.b. ein Bild auslesen bei Catalog war das ja so
    PHP-Code:
    <?php echo $entry['data']['bildname']['value']; ?>
    wie funktioniert sowas bei Katalog??

    greetz matp

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

    Standard

    Genauso. Du kannst dir dafür die Demo anschauen. Oder das Wiki. Oder die Templates.
    Aber das sind Basics. Die kannst du relativ schnell selbst aneignen.

  7. #7
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    Genauso. Du kannst dir dafür die Demo anschauen. Oder das Wiki. Oder die Templates.
    Aber das sind Basics. Die kannst du relativ schnell selbst aneignen.
    hi habs jetzt versucht wie laut wiki ausgeben zu lassen da passiert aber leider nichts.

    PHP-Code:
    <?php echo $arrItem['attributes']['typ']; ?>

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

    Standard

    Schau dir nochmals das Wiki an... z.B. bei diesem Beispiel... werden die Attributs-Typen verschieden ausgegeben.
    In deinem Beispiel (
    <?php echo $arrItem['attributes']['typ']; ?>
    ) gibst du das Label aus (und das kann optional ausgeschaltet werden, weshalb dann im BE nichts erscheint)

    Wenn du die Werte ausgeben willst, dann über..
    <?php echo $arrItem['text']['meinAttribut']; ?>
    (für Attribute vom Typ 'Text'), oder...
    <?php echo $arrItem['html5']['meinBild']; ?>
    (für Attribute vom Typ 'Files'), oder ...
    <?php echo $arrItem['html5']['meineURL']; ?>
    (für Attribute vom Typ 'URL').

    Alles klar? ;-)

  9. #9
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von luis Beitrag anzeigen
    Schau dir nochmals das Wiki an... z.B. bei diesem Beispiel... werden die Attributs-Typen verschieden ausgegeben.
    In deinem Beispiel (
    <?php echo $arrItem['attributes']['typ']; ?>
    ) gibst du das Label aus (und das kann optional ausgeschaltet werden, weshalb dann im BE nichts erscheint)

    Wenn du die Werte ausgeben willst, dann über..
    <?php echo $arrItem['text']['meinAttribut']; ?>
    (für Attribute vom Typ 'Text'), oder...
    <?php echo $arrItem['html5']['meinBild']; ?>
    (für Attribute vom Typ 'Files'), oder ...
    <?php echo $arrItem['html5']['meineURL']; ?>
    (für Attribute vom Typ 'URL').

    Alles klar? ;-)

    hi,

    erstmal danke für die info

    habe in meinem mm_filteritem_linklist.html5 template nun folgendes drinnen stehen. leider wird das textfeld "typ" nicht ausgegeben

    PHP-Code:
    <?php if(is_array($this->options) && count($this->options)): ?>
    <ul>
    <?php
    $i 
    0$last count($this->options) - 1;
    foreach(
    $this->options as $option):
        
    $class = (!$i) ? 'first ' '';
        
    $class .= ($i == $last) ? 'last ' '';
        
    $class .= ($i++ % 2) ? 'even' 'odd';
        
    $class .= (strlen($option['class'])) ? ' ' $option['class'] : '';
    ?>
    <li class="<?php echo $class?>">
      <a href="<?php echo $option['href']; ?>" class="<?php echo $class?>" title="<?php echo $option['value']; ?>">
      <div class="box"> 
        <div class="header">
          <p><?php echo $option['value']; ?><?php if($this->showCount): ?> <span class="count">(<?php echo $this->count[$option['key']]; ?>)</span><?php endif; ?></p>
        </div>
        <div class="bild">
          <img src="tl_files/user_upload/backgrounds 1920 x 1080/ferienwohungen.jpg" width="265" height="100" />
          <?php echo $arrItem['text']['typ']; ?>
        </div>
      </div>
      </a>
       <div class="anfragebutton">
        <a href="">
         <p>jetzt anfragen</p>
        </a>
       </div>
    </li>
    <?php endforeach; ?>
    </ul>
    <?php endif; ?>
    muss ich das feld vl. noch irgendwo einbinden sowie bei katalog(modul) oder funktioniert das bei filter generell nicht??

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

    Standard

    Ich verstehe nicht was du da eigentlich vorhast. Willst du pro Filter ein Bild vergeben? Oder verstehst du MetaModels falsch?

  11. #11
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    Ich verstehe nicht was du da eigentlich vorhast. Willst du pro Filter ein Bild vergeben? Oder verstehst du MetaModels falsch?
    hi,

    ich möchte einfach im template bei diesem eintrag
    PHP-Code:
     <?php echo $arrItem['text']['typ']; ?>
    ein textfeld aus der Datenbank ausgeben das in diesem MetaModel drinnen ist und das Textfeld hat den Spaltennamen "typ"

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

    Standard

    Zitat Zitat von matp Beitrag anzeigen
    jetzt noch eine Frage wie kann ich einzelne Felder aus der Datenbank auslesen z.b. ein Bild auslesen bei Catalog war das ja so...
    Ich glaube, du solltest ganz schnell diesen Weg verlassen, ein Ex-Catalog-Template in ein MM-Filter-Liste-WasAuchImmer-Template umzubiegen zu wollen. MM funktioniert komplett anders. Erstell zuerst eine FE Liste mit MM (so verstehe ich zumindest deine Anfrage). Dazu brauchst du eine MM-Rendereinstellung und ein FE Modul ('MetaModel-Liste). Das geht noch gänzlich ohne Filter-Technik.

    Läuft das mal, kannst du zusätzlich einen Filter definieren... damit ein weiteres FE Modul ('MetaModel-Frontendfilter') erstellen und den Filter zusätzlich der MetaModel-Liste zuweisen. Damit hättest du dann zwei FE Module auf deiner Seite. Wenn das auch klappt, kannst du anfangen, an den Templates (für Filter und Liste) rumzuschrauben.

    Doofe Frage zum Schluss: Hast du dich durch das Wiki durchgearbeitet und die Beispiele verstanden? ;-)

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

    Standard

    @matp: MM wird zwar als Nachfolger von Catalog hingestellt, die beiden Erweiterungen haben technisch jedoch nichts miteinander zu tun. Du musst dich neu in die Materie reinknien.

  14. #14
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von luis Beitrag anzeigen
    Ich glaube, du solltest ganz schnell diesen Weg verlassen, ein Ex-Catalog-Template in ein MM-Filter-Liste-WasAuchImmer-Template umzubiegen zu wollen. MM funktioniert komplett anders. Erstell zuerst eine FE Liste mit MM (so verstehe ich zumindest deine Anfrage). Dazu brauchst du eine MM-Rendereinstellung und ein FE Modul ('MetaModel-Liste). Das geht noch gänzlich ohne Filter-Technik.

    Läuft das mal, kannst du zusätzlich einen Filter definieren... damit ein weiteres FE Modul ('MetaModel-Frontendfilter') erstellen und den Filter zusätzlich der MetaModel-Liste zuweisen. Damit hättest du dann zwei FE Module auf deiner Seite. Wenn das auch klappt, kannst du anfangen, an den Templates (für Filter und Liste) rumzuschrauben.

    Doofe Frage zum Schluss: Hast du dich durch das Wiki durchgearbeitet und die Beispiele verstanden? ;-)
    hi,

    ja hab mich durchs wiki durchegämpft

    funktioniert alles auch einwandfrei ich möchte jetzt nur in meinem filter template ein "textfeld" aus meinem "Kategorie" Meta Model ausgeben.

    nice greetz.

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

    Standard

    sorry, ich muss passen. Ich verstehe nicht, was du willst. Ich reiche hier gern den Stab an jemand anderen weiter. Cheers, L

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

    Standard

    Es wäre hilfreich mal ein Screendesign oder ein Wireframe zu sehen.

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

    Standard

    Vielen Dank! Jetzt verstehe ich das "Problem". Aber du machst es dir VIEEEEEEL zu kompliziert. Anstatt da jetzt mit irgendwelchen Abfragen ein Textattribut einer anderen Tabelle oder eines ganz fremden Bereichs von MetaModels ins Template zu frickeln, kannst du doch auch einfach den CSS-Alias als Bildname verwenden. Der steht dir in jedem Filtertemplate zur Verfügung und den kannst du dynamisch als Bildernamen verwenden. Du musst dann nur noch die Bilder korrekt benennen.

  18. #18
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    hi,

    so sieht meine frontend ausgabe der filter aus screen.jpg.

    hier möchte ich gerne das ich über die Datenbank das Bild aus dem Feld lesen kann den bis jetzt ist überall das selbe Bild drinnen weil es fix drinnen steht hier der Code.

    PHP-Code:
    <?php if(is_array($this->options) && count($this->options)): ?>
    <ul>
    <?php
    $i 
    0$last count($this->options) - 1;
    foreach(
    $this->options as $option):
        
    $class = (!$i) ? 'first ' '';
        
    $class .= ($i == $last) ? 'last ' '';
        
    $class .= ($i++ % 2) ? 'even' 'odd';
        
    $class .= (strlen($option['class'])) ? ' ' $option['class'] : '';

    print_r($this->filters);
    ?>
    <li class="<?php echo $class?>">
      <a href="<?php echo $option['href']; ?>" class="<?php echo $class?>" title="<?php echo $option['value']; ?>">
      <div class="box"> 
        <div class="header">
          <p><?php echo $option['value']; ?><?php if($this->showCount): ?> <span class="count">(<?php echo $this->count[$option['key']]; ?>)</span><?php endif; ?></p>
        </div>
        <div class="bild">
          <img src="tl_files/user_upload/backgrounds 1920 x 1080/ferienwohungen.jpg" width="265" height="100" />
        </div>
      </div>
      </a>
       <div class="anfragebutton">
        <a href="">
         <p>jetzt anfragen</p>
        </a>
       </div>
    </li>
    <?php endforeach; ?>
    </ul>
    <?php endif; ?>
    und hier screenshots von MetaModel
    screen_felder.jpg

    ich möchte einfach das feld bzw. bild mit spaltennamen "unterkunft_typ_bild" im frontend anstelle des fixen bildes ausgeben.

    greetz matp

  19. #19
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Jedes Attribut muss auch für die Frontend-Ausgabe sichtbar geschaltet sein. Sonst kommt im Template auch nichts an. Sollte bei den Filter-Templates genauso sein. Sonst Andreas Weg nehmen.
    Geändert von Tim G (11.06.2013 um 07:13 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

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

    Standard

    Einen besseren Weg weiss ich derzeit leider nicht. Ich bin raus, sorry.

  21. #21
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Jedes Attribut muss auch für die Frontend-Ausgabe sichtbar geschaltet sein. Sonst kommt im Template auch nichts an. Sollte bei den Filter-Templates genauso sein. Sonst Andreas Weg nehmen.
    mein Filter sieht wie folgt aus. screen_filter.jpg

    und hier die rendereinstellungen. screen_render.jpg

    und hier das filter modul im artikel. screen_filtermodul.jpg

    kann es vl. an dem liegen das isch beim filter modul nicht das MetaModel Unterkunftstypen ausgewählt habe??

    kann man die einzelnen MetaModels miteinander irgendwie verknüpfen z.b. Unterkünfte mit Unterkunftstypen??

    damit ich bei der Auswahl MetaModels nur eines angeben muss z.b. Unterkünfte, aber die Felder doch von Unterkunftstypen auslesen kann???
    Geändert von matp (11.06.2013 um 07:30 Uhr)

  22. #22
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von andreasisaak Beitrag anzeigen
    Einen besseren Weg weiss ich derzeit leider nicht. Ich bin raus, sorry.
    Ich bin auch raus. Meine Filter-Templates sehen alle komplett anders aus.
    Knall ne Datenbankabfrage rein (Ja Andreas... ich weiss ). Fertig aus.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  23. #23
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Ich bin auch raus. Meine Filter-Templates sehen alle komplett anders aus.
    Knall ne Datenbankabfrage rein (Ja Andreas... ich weiss ). Fertig aus.
    meinst du jetzt den code oder die einstellungen der filter-templates??

    ich habe alles laut wiki gemacht.
    Geändert von matp (11.06.2013 um 07:43 Uhr)

  24. #24
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Spezielle Lösungen erforden spezielles Handeln.
    Für diesen Fall würde ich Inserttags nutzen um die Bilder zu rendern, entsprechend der Filter-Kategorie. Das sollte kein Problem darstellen.
    Eine Logik mit Verknüpfung zu den Einträgen im MM würde mir nur über ein separates MetaModel-Objekt mit nachgestellter Abfrage der Einträge entsprechend der Filter-Kategorie einfallen. Damit kommt man an die Werte von jedem Feld pro Eintrag. Aber das würde den Erklärrahmen sprengen.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  25. #25
    Contao-Nutzer Avatar von matp
    Registriert seit
    13.12.2011.
    Ort
    Tirol
    Beiträge
    213

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    Spezielle Lösungen erforden spezielles Handeln.
    Für diesen Fall würde ich Inserttags nutzen um die Bilder zu rendern, entsprechend der Filter-Kategorie. Das sollte kein Problem darstellen.
    Eine Logik mit Verknüpfung zu den Einträgen im MM würde mir nur über ein separates MetaModel-Objekt mit nachgestellter Abfrage der Einträge entsprechend der Filter-Kategorie einfallen. Damit kommt man an die Werte von jedem Feld pro Eintrag. Aber das würde den Erklärrahmen sprengen.
    das heisst im klartext so wie ich es jetzt habe funktioniert es nicht??

    oder habe ich vl. nur einen denkfehler oder iwo einen hacken setzen vergessen :S
    wie gesagt ist der 1. versuch mit meta models.
    Geändert von matp (11.06.2013 um 08:33 Uhr)

  26. #26
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Hier sind etliche Wege vorgestellt. Damit sollte das lösbar sein. Viel Erfolg
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  27. #27
    Contao-Nutzer Avatar von timbec
    Registriert seit
    22.09.2009.
    Ort
    Aachen
    Beiträge
    150
    Partner-ID
    7828
    User beschenken
    Wunschliste

    Standard

    Hi matp,

    die Lösung von Andreas mittels css halte ich auch noch für die beste.
    Du kannst in einem MetaModel aber natürlich auch auf andere zugreifen.

    Hier habe ich einen Codeschnippsel den ich dafür nutze, ob das ganze aber auch so in Filter-Templates funktioniert kann ich dir leider auch nicht sagen: https://gist.github.com/tim-bec/5711512

    Grüße
    Tim

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

    Standard

    Zitat Zitat von timbec Beitrag anzeigen
    Hier habe ich einen Codeschnippsel den ich dafür nutze, ob das ganze aber auch so in Filter-Templates funktioniert kann ich dir leider auch nicht sagen
    Das funktioniert Contaoweit.
    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.

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
  •