Views: Contextual Filter mit URL-Alias
Eingetragen von janja (8)
am 29.09.2011 - 23:29 Uhr in
am 29.09.2011 - 23:29 Uhr in
Moin,
ich habe ziemliche normale Views (Views3, D7), die "Inhalt: Titel" als Contextual Filter erhalten, und die Ergebnisse als Link (auch mit diesem Titel) wieder ausgeben - alles fein und einfach.
Die Titel enthalten Leerzeichen, aber da die von Drupal url-codiert werden, ist das kein Problem. Trotzdem würde ich gerne an Stelle von [title] den URL-Alias von pathauto nutzen.
Gibt es da einen Weg (der mir bis jetzt nur nicht aufgefallen ist?) ... es wäre schön, an dieser Stelle Pfade zu haben, die nicht zu Problemen führen können.
danke,
Jan
- Anmelden oder Registrieren um Kommentare zu schreiben
hallo jan setzt werdenich
am 03.10.2011 - 12:34 Uhr
hallo jan
setzt werdenich hatte neulich einen ähnlichen plan:
in views 3 sollten nodes per contextual filters -> raw from url
mit einem testfield verglichen werden
in dem der user den url-alias eingetragen kann.
ich wollte dadurch eine sichtbarkeitssteuerung erreichen
für node wie sie auch bei blöcken gibt..
dabei bin ich auf das problem gestossen, das der filter den
url alias nur dann 'erkannt' hat wenn der alias nicht
schon von einem node verwendet wurde.
das ist anscheinend kein bug:
url_aliasen werden erst zu einem späteren zeitpunkt
'abschliessend' gesetzt für die nodes als bei den contextual filters
und damit in den views überschrieben.
die lösung wäre ein eigened views plugin für url aliase und contextual filters
zu schreiben...
vielleicht hilft dir die info ja...
besten gruss
stef
Hallo Stef, danke für deine
am 03.10.2011 - 19:51 Uhr
Hallo Stef,
danke für deine Antwort - auch wenn ich sie nicht vollständig verstanden habe ;)
Du schreibst, die URL-Aliase würden für die nodes später als für die contextual filter gesetzt werden - aber eigentlich werden die Aliase beim Erstellen den node gesetzt, die views und ihre evtl. vorhandenen filter haben damit doch erstmal nichts zu tun ...
Eigentlich würde ich erwarten, daß views als contextual filter auch den Path-Alias akzeptieren würde, aber irgendwie geht das ja nicht.
> die lösung wäre ein eigened views plugin für url aliase und contextual filters zu schreiben...
ja - aber dazu muss der Schmerz wohl noch etwas größer werden ;)
Was mich wundert: alle Leute verwenden lesbare URLs, und viele verwenden Views - aber die (fehlende) Kombination stört wohl keinen ;)
danke
Jan
hi janja janja schrieb Du
am 10.10.2011 - 10:53 Uhr
hi janja
Du schreibst, die URL-Aliase würden für die nodes später als für die contextual filter gesetzt werden - aber eigentlich werden die Aliase beim Erstellen den node gesetzt, die views und ihre evtl. vorhandenen filter haben damit doch erstmal nichts zu tun Eigentlich würde ich erwarten, daß views als contextual filter auch den Path-Alias akzeptieren würde, aber irgendwie geht das ja nicht.
ok.. dann habe ich auch keine antwort warum views die url-aliase nicht 'erkennt'
oder hast du mittlerweile was heraus gefunden?
> die lösung wäre ein eigened views plugin für url aliase und contextual filters zu schreiben...
ja - aber dazu muss der Schmerz wohl noch etwas größer werden ;)
ich hab das problem aus zeit gründen vertagt (kein gute lösung)
plugins sind aber eigendlich nicht wirklich schwierig, theoretisch zumindest (wie so oft bei drupal :))
Was mich wundert: alle Leute verwenden lesbare URLs, und viele verwenden Views - aber die (fehlende) Kombination stört wohl keinen ;)
ja genau deswegen dachte ich auch mind. 2 tage lang der fehler läg bei mir..
vg
stef
> oder hast du mittlerweile
am 11.10.2011 - 19:49 Uhr
> oder hast du mittlerweile was heraus gefunden?
nicht wirklich. Ich denke, der path-Alias ist einfach keine Konstrukt wie ein "Feld" aus einem Inhaltstyp, sondern einfach nur ein "Pfad", der an anderer Stelle verwaltet wird und nicht weiter auf den eigentlichen node referenziert ... oder so ;) Aber ich habe da trotz langer Suche nichts wirklich stichhaltiges gefunden ...
Inzwischen habe ich in in einer anderen Richtung weiter überlegt - saubere URLs mit Hausmitteln. Views hat ja sowohl beim contextual filter als auch bei der Feld-Ausgabe ein rewrite "Replace spaces with dashes". Ehrlich gesagt habe ich keine Ahnung, wofür man das sinnvoll verwenden soll - zumindest hilft es mir nicht weiter, weil ein so veränderter Pfad zwar schick lesbar wäre, aber ja nicht mehr auf den richtigen node führen würde ...
Aber dabei stieß ich auf eine nette Abwandlung, die beim Field-Rewrite dashes in den Titel einsetzt und beim contextual filter-Input wieder entfernt ... das würde zumindest bei meinen Leerzeichen helfen - und solange ich selber keine dashes in den Titeln habe ):
http://www.pixelclever.com/how-remove-spaces-when-using-term-names-or-no...
... das klang ganz gut, ich habe aber noch nicht damit gebastelt ...
tschau
Jan