Wie erfolgt die Übergabe eines Feldinhaltes aus einer View an eine andere View?
Eingetragen von DrFrankieWb (48)
am 21.04.2017 - 19:24 Uhr in
am 21.04.2017 - 19:24 Uhr in
Ich möchte beim Anklicken eines Feldinhaltes in einer View (Tabelle) eine andere View, deren Anzeige mit eben diesem Feldinhalt gefiltert wird, erzeugen.
Ich nehme an, das geht mit den contextual filters.
Aber wie bekomme ich den Feldinhalt in die URL, die diese View erzeugt?
(Drupal 8.3.1)
Beispiel:
View 1: Field: "Orte", value= "Berlin"
Nun soll view 2 mit dem Filter "Berlin" aufgerufen werden.
Geht das? Wenn ja, wie?
Vielen Dank für Eure Antworten im Voraus.
Frank
- Anmelden oder Registrieren um Kommentare zu schreiben
klar stell einfach das feld
am 22.04.2017 - 07:45 Uhr
klar stell einfach das feld als filterkriterium zur verfügung und wähle im typ der ansicht felder aus.alle anderen felder musst du natürlich auch unter Felder hinzufügen, damit die Inhalte ausgegeben werden
https://drupal-tv.de
Drupal sehen und lernen
klar stell einfach das feld
am 22.04.2017 - 07:45 Uhr
klar stell einfach das feld als filterkriterium zur verfügung und wähle im typ der ansicht felder aus.alle anderen felder musst du natürlich auch unter Felder hinzufügen, damit die Inhalte ausgegeben werden
https://drupal-tv.de
Drupal sehen und lernen
feld als filterkriterium?
am 22.04.2017 - 09:48 Uhr
1. Wie sage ich der zweiten View, dass sie nur entsprechend des Inhaltes des ersten Feldes ausgeben soll?
Die Ausgabe aller Inhalte ist ja nicht das Ziel.
2. Wenn ich das z. B. als Block in der rechten Seitenleiste - und zwar nur nach dem Klick auf den Eintrag in View 1 - anzeigen will, wie geht das?
Hallo,du möchtest Argumente
am 22.04.2017 - 12:11 Uhr
Hallo,
du möchtest Argumente an die 2 View übergeben?
Versuche es mal mit Contextual Filters.
https://drupal.stackexchange.com/questions/17900/how-can-i-pass-parameters-to-a-block
je, nachdem was Du machen möchtest, so etwas in einem PHP Code Block:
print views_embed_view('news', 'panel_pane_1', arg(1));
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Und den Feldinhalt wie übergeben?
am 22.04.2017 - 14:36 Uhr
In den Contextual filters kann ich aus der aufrufenden URL einen Term entnehmen, soweit bin ich.
Aber: wie bekomme ich aus View 1 (s. Beispiel) den Feldinhalt an die Url dran?
Gibt es dafür einen bestimmten Terminus (wie $global oder so?) machine_name des Feldes mit $ davor ???
Die Felder, die Du für den
am 22.04.2017 - 19:27 Uhr
Die Felder, die Du für den Link benötigst ausgeben lassen, aber bis auf das letzte von der Ausgabe ausschließen. Beim letzten der benötigten Felder (wenn Du nur ein feld hast dann also nur bei diesem Feld ohne Unterdrücken der Ausgabe) die Ausgabe des Feldes überschreiben und dort den Link mit dem Aufruf des zweiten Views und den benötigten Parametern zusammenbauen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Feldinhalt aus View 1 in die Parameter für View 2 übernehmen?
am 22.04.2017 - 20:54 Uhr
die Ausgabe des Feldes überschreiben und dort den Link mit dem Aufruf des zweiten Views und den benötigten Parametern zusammenbauen.
Hallo, Werner,
das hatte ich so gemacht. Wenn ich an die URL Klartext statt des Feldinhaltes anhänge, funktioniert der Aufruf der View tadellos, mit der gewünschten Filterung.
Was ich meinte: wie kann ich diesen Klartext durch den jeweiligen Feldinhalt ersetzen und diesen als Parameter übernehmen?
Der machine name des Feldes ist bekannt, es muss doch irgendwie an den jeweiligen Inhalt heranzukommen sein.
Selbst bei Greg Marshal (Mastering Drupal Views) bin ich nicht fündig geworden. Der schreibt so schön: „Contextual filters use the URL to pass the selection criteria to the filter.“ Aber selbst hier werden Klar-ID's verwendet.
Du hast doch Ersetzungstoken,
am 22.04.2017 - 23:52 Uhr
Du hast doch Ersetzungstoken, über die Du den jeweiligen Feldinhalt ausgeben kannst.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *