View: Stehe auf dem Schlauch
am 14.08.2021 - 11:53 Uhr in
Ich weiss im Moment nicht weiter:
Ich habe bei einigen Content Types ein Feld "Headerbild" hinzugefügt.
Dieses Bild möchte ich in einem Block anzeigen, und falls keines vorhanden ist, das Bild einer anderen, Default-Content ID.
Dafür habe ich eine View mit "Contextual Filter: Content ID" und Default-Wert "1" erstellt.
Das funktioniert gut.
Wenn der Filter nicht vorhanden ist, also wenn keine Content ID in der URL aufgerufen wird, wird "1" als Default-Filterwert angewendet und dann wird das Bild der Content ID 1 angezeigt.
So weit so gut.
Dann habe ich einige Content-ID wo ich kein Bild hinterlegt habe.
Dann wird leider nichts angezeigt.
Ich würde gerne in diesem Fall auch das Bild für "1" anzeigen lassen.
In "Fields", gibt es "No results behavior".
Wenn ich hier etwas reinschreibe, dann erscheint das wenn kein Bild hinterlegt ist.
Was muss ich in "No results behavior" reinschreiben, um das Bild für Content ID 1 anzeigen zu lassen?
oder wie kann ich das anders anpacken, falls das so nicht machbar ist?
- Anmelden oder Registrieren um Kommentare zu schreiben
Nimm das Modul
am 14.08.2021 - 12:46 Uhr
Nimm das Modul views_conditional. Damit sollte sich eine Ausgabe steuern lassen, wenn das Feld nicht besetzt ist.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
hmm... das hilft mir nicht
am 14.08.2021 - 17:13 Uhr
hmm... das hilft mir nicht weiter, das bietet mir die gleiche Möglichkeit, wie "no results behavior", wenn ich nichts übersehen habe.
meine persönliche Webseite: drupaldope.com
enthält Tipps & Tricks zu Drupal 8 & 9 (auf Englisch)
aber das hier dürfte es
am 14.08.2021 - 17:23 Uhr
aber das hier dürfte es ermöglichen:
https://www.drupal.org/project/views_contextual_filters_or
meine persönliche Webseite: drupaldope.com
enthält Tipps & Tricks zu Drupal 8 & 9 (auf Englisch)
nee, dann doch nicht.wie
am 14.08.2021 - 19:01 Uhr
nee, dann doch nicht.
wie bekomme ich das in die query:
where content_id = filter_criteria OR content_id = 1 ?
der Teil "where content_id = filter_criteria" ist von drupal views standard dabei, aber wie füge ich "OR content_id = 1" der query hinzu ?
edit: ich habe nun SQL view aktiviert, die view produziert das, wenn ich z.B. "5" als argument eingebe:
SELECT "node_field_data"."langcode" AS "node_field_data_langcode", "node_field_data"."nid" AS "nid"
FROM
{node_field_data} "node_field_data"
WHERE (node_field_data.nid = '5')
wie füge ich dem " OR (node_field_data.nid = '1) " hinzu ?
meine persönliche Webseite: drupaldope.com
enthält Tipps & Tricks zu Drupal 8 & 9 (auf Englisch)
ok, ich hab's das war sehr
am 15.08.2021 - 08:50 Uhr
ok, ich hab's
das war sehr kompliziert - die grösste Hürde was "no query was run" zu umgehen.
Zusammenfassung:
- zwei contextual filter für "content ID" anlegen, der erste mit "content ID from URL" mit validation criteria, single content ID, und "display all results" wenn es nicht validiert (das verhindert, dass anstelle von Ergebnissen "no query was run" kommt)
- der zweite contextual filter für "Content ID" verwendet "query parameter" nid und 1 (oder die gewünschte fallback-id)
- dann bei den view filtern "is not null" auf das angezeigte Feld verwenden
- Sortierung: desc
- anzuzeigende Elemente: 1
meine persönliche Webseite: drupaldope.com
enthält Tipps & Tricks zu Drupal 8 & 9 (auf Englisch)