Views 3: Blockinhalt mit Contextual Filters auf Taxonomiebegriff filtern

am 20.11.2011 - 15:50 Uhr in
Hallo,
ich versuche gerade folgendes ans Laufen bringen:
Mit einem Contextual Filter will ich nur Inhalte die in einer bestimmten Kategorie (Taxonomie-Begriff) sind anzeigen lassen.
Dabei soll der Contextual Filter den Taxonomie-Begriff aus der URL lesen (Raw Value from URL).
Meine URL-Struktur sieht etwa so aus: artikel/kategorie/produktname
"kategorie" ist der Taxonomie
Ich habe inzwischen eine Möglichkeit gefunden, wie der Block in der Views UI funktioniert und auf View-Pagen die die URL-Struktur artikel/kategorie haben.
Ist es möglich, dass das mit Raw Value from URL nur funktioniert mit der Internen-URL (node/1) wobei das eigentlich nicht so richtig Sinn machen würde.
Meine URL lasse ich von PathAuto generieren.
Jemand eine Idee? Schicke gerne mehr Infos, wenn mir jemand sagt was noch interessant sein könnten zum Lösen des Problems.
- Anmelden oder Registrieren um Kommentare zu schreiben
Ein Block kann keine
am 20.11.2011 - 18:47 Uhr
Ein Block kann keine Argumente (und also auch keine Contextual Filters) aus der URL übernehmen. Das geht nur über einen Trick. Beim Argument bei der Frage was tun, wenn kein Argument vorhanden ist (also beim Block) => Standard Argument bereitstellen dann mittels PHP-Code das passende Argument heraussuchen. Das dürfte immer noch so sein wie in Drupal 6.
Beste Grüße
Werner
Ja, stimmt - ein Block kann
am 20.11.2011 - 19:04 Uhr
Ja, stimmt - ein Block kann keine Werte dynamisch aus der URL auslesen.
Deshalb der Umweg über einen Default Wert, der eine "Raw Value" aus der Seiten-URL ausliest - und zwar an 1, 2, n-ter Stelle der URL (wobei sich Stellen durch "/" abtrennen). In meinem Fall muss ich somit die zweit Stelle auslesen.
Den "rohen Wert" kann ich dann über einen Filter laufen lassen. Beim mir lasse ich den gewonnene Begriff in seine Taxonomie-ID umwandeln, wobei nur Werte aus der Taxonomie "kategorie" zulässig sind. Da ich Kategorie-Namen mit Leerzeichen haben lasse ich zusätzlich Leerzeichen in Bindestriche übersetzen (also die Bindestriche sind in der URL und werden dann zurück-übersetzt).
Soweit die Theorie.
In der Praxis klappt das wie gesagt nur bei einiges Seiten die wiederum selbst Views sind deren Pfad (Path) ich auch artikel/% festgelgt haben - das Prozent ist dabei der Platzhalter für einen Wert, der dem contextual filter zur Verfügung steht.
Sprich: Die Views haben nur und ausschließlich diesen Pfad.
Die Ansichten, bei denen es nicht funktioniert (z. B. artikel/kategorie1/produkt1) haben einen system-internen Pfad (node/11) und einen Pfad-Alias (eben artikel/kategorie1/produkt1).
Ideen?
Ich verwende Drupal7 mit Views3
Sieh Dir mal die API Funktion
am 20.11.2011 - 23:53 Uhr
Sieh Dir mal die API Funktion an drupal_get_path_alias
Beste Grüße
Werner
Blockinhalt mit Contextual Filters auf Taxonomiebegriff
am 21.11.2011 - 07:15 Uhr
Ich habe das dieses Wochenende auch erstellt. Ich habe einige Texte lesen müssen, obschon es einfach sein sollte. Ich habe einige Stunden verbraucht bis es endlich klappte. Alle Anweisungen die ich lesen konnte in English schlugen fehl. Hier das Ergebniss http://www.business-solutions.lu/bilder/bilder-vom-21-november-2011 > in der gleichen Kategorie liest die url: http://www.business-solutions.lu/goto/e-commerce/handelskraft aus wobei e-commerce der Term ist auf den gefiltert wird.
Der Vorgang werde ich einmal niederschreiben auf Deutsch. Und zusätzlich ein Video erstellen.
Die Raw Value hat nicht bei mir funktioniert. Und ich musste meinen autopath umstellen nach > goto/[node:field_blogroll_tag]/[node:title]
Anhang: Contextual Filter
doch views3 kann das. dort
am 21.11.2011 - 08:09 Uhr
doch views3 kann das. dort gibts ein punkt taxonomy from node
ich habe hier ein "Taxonomie
am 21.11.2011 - 18:33 Uhr
ich habe hier ein "Taxonomie term ID from URL" - meinst du das?
In meiner URL-Struktur sind keiner Taxonomie term IDs - oder verstehe ich das falsch?
Also bei "node/1" oder "taxonomie/term/4" würde ich die Zahl als die ID verstehen?!
Auf jeden Fall funktioniert das bei mir nicht - aber vielleicht mache ich auch was anders falsch.
Ich halte das auf jeden Fall für ein Problem, bei dem ich denke, dass Views3 einen Weg für hat - aber bisher klappt bei mir noch nix.
@Patrick - wäre sehr interessiert, wie du das gelöst hast.
Wie hat dein PathAuto-Schema davor ausgesehen?
vegano schrieb ich habe hier
am 21.11.2011 - 18:43 Uhr
ich habe hier ein "Taxonomie term ID from URL" - meinst du das?
In meiner URL-Struktur sind keiner Taxonomie term IDs - oder verstehe ich das falsch?
ja genua. und wenn du das als standardargument zur verfügung stellst, kannst du da eine option wählen "Load default argument from node page, thats good for related taxonomy blocks"
Da sehe ich gerade, dass
am 21.11.2011 - 18:45 Uhr
Da sehe ich gerade, dass Pathauto sowohl [node:field_kategorie] als auch [node:field-kategorie] anbietet. Wobei das mit "-" auf das "CCK"-Feld verweist und das mit "_" auf den Taxonomie-Term
Funktioniert aber beides gleich gut/schlecht