Ergebnis 1 bis 4 von 4

Thema: Katalogfilter mit inputvar-Erweiterung will nicht klappen

  1. #1
    Contao-Nutzer
    Registriert seit
    08.09.2012.
    Ort
    Augsburg
    Beiträge
    22

    Standard Katalogfilter mit inputvar-Erweiterung will nicht klappen

    'n Abend zusammen,

    ich habe eine Frage zum Einsatz der Inputvar-Erweiterung - bei mir will da was nicht hinhauen,
    obwohl ich alles so gemacht habe, wie in verschiedenen Threads beschrieben.

    Meine Contao-Version ist 2.11.5, Katalog ist die SVN-Version.

    Mein Projekt ist Folgendes: Ich habe eine Musikdatenbank. Bei jedem Musikstück habe ich
    auch ein Feld 'bestofcd' angelegt. Dieses enthält den Namen der Best-of-CD, auf welcher der Song enthalten ist.
    Nun möchte ich auf einer Extra-Seite über das Modul Katalog-Liste alle Lieder ausgeben,
    welche zu einer bestimmten Best-Of-CD gehören z. B. "Hits".

    Wenn ich das direkt über den Filter
    Code:
    bestofcd='hits'
    mache, dann geht es.

    Da ich aber nicht für jedes Best-of-Album ein neues Modul anlegen möchte - das könnten irgendwann 100+ Module ergeben-, habe ich
    den Tipp befolgt, das über die Erweiterung "inputvar" zu erledigen.

    Nach deren Installation, habe ich im Kataloglisten-Template die Variable folgendermaßen definiert:

    PHP-Code:
    <?php $GLOBALS['namedesbestofalbums'] = $entry['data']['bestofcd']['items']['0']; ?>
    Zur Überprüfung, ob die Variable überhaupt auf der Seite existiert, habe ich sie mir einmal ausgegeben lassen: Wenn ich also eingebe

    PHP-Code:
    <?php echo $GLOBALS['namedesbestofalbums']  ?>
    erhalte ich die Ausgabe "hits".


    Nun definiere ich die Filterbedingung folgendermaßen:

    Code:
    bestofcd = '{{get::namedesbestofalbums}}'
    ,

    erhalte dann aber die "No matches for your search"-Meldung.

    Habe ich da einen Denk- oder Syntaxfehler? Eigentlich müsste es doch so gehen, oder?

    Danke fürs Lesen und ggf. Antworten!
    Geändert von Uncle_Cake (23.09.2012 um 21:47 Uhr) Grund: Rechtschreibung

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

    Hallo Uncle_Cake,
    ich weiß nicht ob das der passende Weg so ist...

    Das Feld bestofcd ist ein Select auf einen 2. Katalog? Oder ist das ein Textfeld oder so?

    Du kannst doch bei allen CD's dieses Feld ausgeben und dann dort selber einen Link angeben, zu einer Liste. Der Link ist dann praktisch der Filter: url/seite/bestofcd/idvondemfeld.html
    Dann sollte die Ausgabe doch schon passen oder?
    Oder du rufst die Seite als Detailseite von dem Katalog mit dem bestofcd Infos auf und als Referenz-Modul dann die CD's?

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

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

    Standard

    Trag die Filter Bedingung mit dem dem get Inserttag in das Bedingungsfeld des Lister Moduls ein.
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  4. #4
    Contao-Nutzer
    Registriert seit
    08.09.2012.
    Ort
    Augsburg
    Beiträge
    22

    Standard

    Erstmal: Vielen Dank für Eure schnellen Hilfen!

    @MacKP: Ja, das bestofcd-Feld ist ein Textfeld - und der von Dir vorgeschlagene Weg der Cleverere.
    Nachdem ich jeder ausgegebenen Best-Of-Liste noch einen indivduellen Album-Erläuterungstext voranstellen
    wollte, hatte ich zwar zunächst das Problem, dass ich dann ebenfalls immer neue Module hätte erstellen müssen,
    da ja die Ausgabe - sofern man für jedes Album eine Seite in der Seitenstruktur anlegt - immer nur für eine
    bestimmte Seite definiert werden kann.

    Ich glaube aber, dass ich mit diesem Weg ganz gut fahren könnte: Ich lege jedes Album als neuen Artikel
    innerhalb der Suchseite an und nehme dann den entsprechenden Artikellinks. Als Krücke für das Finden des richtigen Links - weil die Albumnamen wegen der Leerzeichen etc. ja nicht unbedingt "URL-freundlich" sind- stelle ich noch ein
    Filtermodul voran und selektiere mir das entsprechende Best-of-Album. Nachdem ich mir dann den Link
    kopiert habe, blende ich das Filtermodul wieder aus. Im Moment sieht es ganz gut aus - aber man weiß ja nie
    Inzwischen raucht mir richtig die Birne vor lauter verschachteltem Denken - aber ich bin ja blutiger Laie und relativ neu in Contao.

    @Tim G: Danke für den Tipp. Das hatte ich bereits probiert, jedoch ohne Erfolg. Ich hatte mich auch schon gefragt,
    ob es daran liegen könnte, dass ich die globale Variable noch irgendwo anders registrieren muss. Du hattest dazu ja schon
    an anderer Stelle Tipps gegeben (Stichwörter "dcaconfig.php" etc.). Aber es kam bei mir nie zu einer Ausgabe der Albumliste.

    Irgendwie fühle ich mich bei diesem ganzen Trial&Error auch nicht so wohl, weil ich als PHP&MySQL-Laie nicht so wirklich verstehe, was ich da tue und wie es sich im Gesamtsystem auswirkt.
    Am Ende ändere ich etwas und diese Änderung fällt mir zwar nicht sofort, aber dann irgendwann bei einer anderen Aktion wieder auf die Füße. Ein Kenner des Systems würde dann
    sofort wissen, wo er gucken muss, aber ich wäre verloren. Daher bleib ich doch (fürs Erste) lieber in der Nähe der Standardmöglichkeiten.

    Aus diesem Grund habe ich die inputvar-Erweiterung auch jetzt wieder deinstalliert (weil da ja auch gewarnt wird, dass diese nur von Profis genutzt werden sollte, die wissen, was sie tun) und versuche mich über die oben geschilderte Echtlinks-Lösung.

    Grüße!

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
  •