Argumente auf einer mit Views erzeugten Taxonomie-Page in eine andere Region übergeben
am 04.03.2010 - 12:28 Uhr in
Hallo liebes Drupalcenter,
ich bin gerade dabei, mit Taxonomy Menu und Views eine Seitennavigation aufzubauen: Menüpunkte werden beim Erstellen neu getaggter Artikel automatisch erzeugt und auf den jeweiligen Schlagwortseiten, die ich mithilfe von Views überschrieben hab, erscheinen die Artikel-Listen. Jetzt wollte ich, dass eine zweite View das gleiche Argument abgreift (zB, um die Term-Beschreibung anzuzeigen). Mit Views Attachments ist das an sich auch kein Problem, sofern man die View in der gleichen Region, im Content, ausgeben will. Ich bekomme es aber nicht hin, das Argument in einer anderen Region abzufangen.
Um die zweite View auszugeben, hab ich jetzt mal die page-taxonomy.tpl.php überschrieben und dort mit views_get_view gearbeitet. Außerdem hab ich einen Block erzeugt und ihn mit dem Argument-Übergabe-Snippet von md getweakt. Beide Ausgaben funktionieren, allerdings die Prüfung nicht. Also wird es an der Übergabe bzw. an der Validierung des Arguments liegen.
Zur Übergabe:
Für meine Taxonomie-URL werden die tids in [term-name] transformiert und rangieren direkt hinter dem basepath. Meine Taxonomie-URL heißt also zB meineseite.de/musik, oder meineseite.de/kategorie-aus-mehreren-wörtern. Wenn ich das richtig verstehe, müsste die Prüfung demnach also das arg(0) oder arg(1) abgreifen (mehr bleibt ja nicht :-))
Validierung des Arguments:
Hier komm ich jetzt ins Schleudern: da das Argument bereits url-tauglich gemacht ist, wenn die Seite aufgerufen wird, weiß ich nicht genau, wie ich die Prüfung konfigurieren muss.
Die Taxonomie-Seite, auf der die View angezeigt werden soll, arbeitet mit der Standardvalidierung termid (+depth) und dem modifier. Wenn ich auch die zweite View so konfiguriere, tut sich aber nichts.
In Views stehen mir für die Terms gleich drei Validierungstypen: termid und die schon erwähnte Prüfung nach termid (+depth) bieten u a. auch die Möglichkeit, den Namen statt der id zu prüfen.
Außerdem gibt es noch term, eine Prüfung, die von vorneherein auf den Namen reagiert. Alle drei bieten verschiedene Möglichkeiten, den Text der Terms zu transformieren. Aber welche ist nun die richtige?
Meine Fragen:
In welcher Form liegt der Term als Argument denn jetzt vor? Ist die tid nicht doch noch irgendwo abzugreifen? Schließlich befinde ich mich auf meiner Tax-Seite ja in bereits in einer View. Oder muss ich tatsächlich mit dem (jetzt url-tauglichen) term arbeiten? Und wenn letzteres der Fall ist, lässt sich das Problem mit den bereits konvertierten Terms mit Views allein denn überhaupt noch lösen? Oder müsste ich dazu mit einem Snippet aus get_url, get_taxonomy, string_replacement usw. arbeiten, um das Argument an die zweite View weiterzureichen?
Ich denke mal, wenn man mit Taxonomy und clean urls arbeitet, gerät man schnell an diesen Punkt. Deshalb wollt ich mal hören, ob sich da schon mal jemand durchgekämpft hat - zumal es hier im Forum direkt zu dem Thema noch nichts zu geben scheint.
[Edit:] Ich weiß, dass man Argumente mit Panels recht sauber übergeben kann. Ich würd aber dennoch zunächst gern darauf verzichten, weil ich das Problem erst einmal prinzipiell verstehen möchte. Außerdem bräuchte ich Panels für die Seite an keiner anderen Stelle. Wenn Ihr sagt, es geht nur so, ist das natürlich was anderes.[/Edit]
[Edit:] Hab inzwischen auch den Blocktrick aus dem Handbuch nachgebaut. Schätze, ich komme der Sache näher, aber es erfolgt mmer noch keine Auswertung des Arguments.[/Edit]
[Edit:]Wie ich rausgefunden habe, ist termid oder termid (+depth) anscheinend richtig. Wenn man bei einem der beiden "term name/synonym converted into term ID" auswählt und bei "Transform dashes in URL to spaces in term name arguments" einen Haken setzt, springt die View zumindest in der Vorschau an. Auf der Taxonomie-Seite funktioniert die Übergabe für den Block allerdings noch nicht.[/Edit]
Danke schonmal, ich freu mich über Eure Hilfe,
Liebe Grüße,
Phil
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 1 Tag 3 Stunden
vor 1 Tag 9 Stunden
vor 1 Tag 11 Stunden
vor 1 Tag 23 Stunden
vor 2 Tagen 1 Stunde
vor 2 Tagen 1 Stunde
vor 2 Tagen 2 Stunden
vor 2 Tagen 2 Stunden
vor 2 Tagen 2 Stunden
vor 2 Tagen 2 Stunden