Probleme im Contextual Filter einer View mit Sonderzeichen
am 14.08.2018 - 18:39 Uhr in
Hallo zusammen,
in einer Drupal 7 Installation habe ich eine View, der über einen Contextual Filter Nodetitle übergeben werden
Die View zeigt dann den Titel des Node, Bilder und noch ein paar andere Inhalte in einem Block an. Leerzeichen im Titel werden in der Url durch Bindestriche ersetzt und vom Contextual Filter wieder umgewandelt, etwa so:
meinedomain.de/meineview/das-haus , wobei der (eindeutige) Title des gesuchten node "Das Haus" ist.
Das funktioniert grundsätzlich gut, aber nicht, wenn Sonderzeichen im Titel sind. Der Node mit dem Titel "Silke's Haus" lässt sich über diese View etwa nicht anzeigen.
meinedomain.de/meineview/silke%27s-haus liefert ein leeres Ergebnis, weil die View zwar den "-" aus der URL wieder in ein Leerzeichen verwandelt, die %27 aber eben nicht zum Apostroph rückverwandelt werden.
Natürlich könnte ich die node ID zusätzlich ans Ende der URL hängen
meinedomain.de/meineview/silke%27s-haus/34567 und dann diese ID auswerten. Das sieht aber doof aus, lieber wäre mir ich würde eine Lösung ohne die ID finden.
Bin für jeden Tipp dankbar.
Viele Grüße, rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Du musst die ID nicht
am 15.08.2018 - 08:44 Uhr
Du musst die ID nicht anhängen, die "zieht" sich Views automatisch.
Du solltest daher über die NID filtern, dann hast Du kein Problem mit den Sonderzeichen.
Drupal rockt!!!
nein,
am 15.08.2018 - 09:05 Uhr
leider nicht.
Die ID wird automatisch gezogen, wenn Du einen node mit einem URL path hast. meinedomain/dasistdieurlzumeinemnode zieht die node id mit.
Die View, an die als Parameter ein String angehängt wird, hat leider noch keine ID. Die soll ja erst durch den übergebenen String ermittelt werden.
Das mit dem Node-Titel wird
am 15.08.2018 - 13:41 Uhr
Das mit dem Node-Titel wird meiner Meinung nach nicht funktionieren, insbesondere deshalb nicht, weil der Node-Titel nicht eindeutig ist.
Warum glaube ich, dass der Node-Titel nicht eindeutig ist ?
Wenn du Informationen in der URL übertragen willst, dann geht das nicht mit Sonderzeichen, das hat du ja schon gesehen. Also musst du z.B. mit clearstring und transliterate den Titel bearbeiten.
Dadurch verliert du möglicherweise die Eindeutigkeit des Node-Titel.
Die NID ist da viiiieeeellll besser und einfacher.
Ich frage mich auch, warum willst du eine ganz spezielle Node in einer View ausgeben. Lass dir doch die Node direkt anzeigen. Ich kann mir gar keinen Grund vorstellen, warum man dazu Views bemühen sollte.
Gruß
Berthold
Drupal Video-Tutorials