Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

[gelöst] Taxonomy Terms nur des Beitrages als Block ausgeben

Eingetragen von AlexFfm (22)
am 04.09.2015 - 07:51 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo,

folgendes Problem:

Auf meiner Site können den einzelnen Beiträgen über das entsprechende Feld Taxonomy Terms zugeordnet werden, bei manchen Beiträgen bleibt das Feld aber auch mal leer. Nur die dem Beitrag zugeordneten Taxonomy Terms sollen dann im Beitrag auch angezeigt werden, allerdings nicht direkt im Content, sondern als Block im Footer-Bereich.

Mit welchem Ansatz bekomme ich das hin? Ich habe es bereits mit Views und einem Kontext-Filter versucht. Das würde an sich auch klappen, allerdings wird dann der entsprechende View mit Überschrift auch dann angezeigt, wenn das Feld Taxonomy des Beitrages leer ist.

Ich vermute ja, dass die Lösung ganz simpel ist, aber ich stehe gerade etwas auf dem Schlauch, und per Suche in Google und hier habe ich leider ebenfalls noch nicht den passenden Ansatz gefunden. Vielleicht kann mir hier ja jemand 'nen kleinen Fingerzeig geben? Wäre toll!

Vielen Dank im Voraus!

Alex

‹ Themesuche horizontales Haupt und Submenu, beide gleichzeitig sichtbar aktiv [gelöst] Taxonomy Terms nur des Beitrages als Block ausgeben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit dem View müsste doch

Eingetragen von Stefan.Korn (286)
am 04.09.2015 - 19:02 Uhr

Das mit dem View müsste doch gehen wenn Du noch einen normalen Filter "Taxonomy Term" ergänzt und diesen auf "is not empty" setzt. Dann sollte der View nur angezeigt werden, wenn auch ein oder mehrere Terms vorhanden sind.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Lösung

Eingetragen von AlexFfm (22)
am 04.09.2015 - 21:44 Uhr

Wie ich es schon geahnt hatte, es ist wirklich simpel - wenn man weiß, wie es geht. Für die, die so wie ich erst mal auf dem Schlauch stehen und insbesondere beim Views-Modul nicht den vollen Durchblick haben, hier die Lösung im Detail:

1. Im Content-Type (z. B. "Einfache Seite" ist ein Feld "Tags" angelegt, in dem beispielsweise mit Auto-Vervollständigung für den einzelnen Beitrag passende Taxonomie-Begriffe angegeben werden können, das Feld kann aber auch leer bleiben.

2. Einen neuen View anlegen, und zwar als Block.

3. In den Block Details unter Format -> Anzeigen: "Felder" auswählen, unter Einstellungen zusätzlich "Leere Felder ausblenden" aktivieren.

4. Unter Felder das Feld "Inhalt: Tags" hinzufügen, dann unter "Verhalten, wenn keine Ergebnisse vorliegen" "Verstecken, falls leer" und "Nicht überschreiben, wenn leer" aktivieren und anschließend mit "Anwenden" das Feld speichern. Das standardmäßige vorhandene Titel-Feld entfernen, da es nicht angezeigt werden soll.

5. Rechts den Bereich "Erweitert" öffnen und dann den Kontext-Filter "Inhalt: Beitrags-ID" hinzufügen. Im Folgenden den Filter konfigurieren: unter "Falls der Filterwert nicht verfügbar ist" den Punkt "Vorgabewert bereitstellen" und als Typ "Beitrags-ID aus der URL" auswählen, dann "Anwenden".

Mit diesen Einstellungen und dem abschließenden Speichern des Views steht dieser als Block bereit und kann einer beliebigen Region hinzugefügt werden. Angezeigt werden nur die Taxonomie-Begriffe des gerade angezeigten Beitrags. Allerdings gibt es noch einen Schönheitsfehler: sind zu dem Beitrag keine Taxonomie-Begriffe gespeichert, wird der Block im Quelltext trotzdem ausgegeben, so dass z. B. die Blocküberschrift angezeigt wird, obwohl der Block keinen Inhalt hat.

Dieses Verhalten lässt sich mit folgender zusätzlicher Einstellung vermeiden:

6. Rechts im Bereich "Erweitert" findet sich unterhalb des Kontextfilters der Punkt "Beziehungen". Dort "Inhalt: Tags" hinzufügen und anschließend unter Konfigurieren den Punkt "Beziehung ist erforderlich" auswählen. Dann wieder "Anwenden", und zum Schluss den View speichern.

FERTIG! Jetzt werden in allen Beiträgen, in denen das Feld "Tags" einen Inhalt hat, die entsprechenden Tags in einem Block angezeigt. Ist dagegen in einem Beitrag das Feld "Tags" leer, wird der gesamte Block nicht ausgegeben.

Das Ganze klappt sinngemäß auch mit anderen Feldern, z. B. mit einem Image-Feld, das nicht immer einen Inhalt hat.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es ist nicht nötig im Bereich

Eingetragen von Stefan.Korn (286)
am 09.09.2015 - 13:43 Uhr

Es ist nicht nötig im Bereich "Erweitert" eine Beziehung hinzuzufügen. Damit wird die SQL-Abfrage die hinter dem View steht komplexer und ggf. auch langsamer.

Es reicht aus unter Filterkriterien "Inhalt: Hat einen Taxonomiebegriff" hinzuzufügen und dort "Ist nicht leer (NOT NULL)" auszuwählen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Stefan.Korn schrieb Es ist

Eingetragen von AlexFfm (22)
am 09.09.2015 - 14:53 Uhr
Stefan.Korn schrieb

Es ist nicht nötig im Bereich "Erweitert" eine Beziehung hinzuzufügen. Damit wird die SQL-Abfrage die hinter dem View steht komplexer und ggf. auch langsamer.

Es reicht aus unter Filterkriterien "Inhalt: Hat einen Taxonomiebegriff" hinzuzufügen und dort "Ist nicht leer (NOT NULL)" auszuwählen.

Das scheint zu stimmen, soweit unterbunden werden soll, dass ein leerer Block angezeigt wird. Allerdings erscheinen bei mir, wenn ich das Filterkriterium statt der Beziehung einstelle, nun alle Elemente mehrfach, was aber gerade nicht sein soll. Duplikate reduzieren ändert daran leider nichts.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Stimmt, dann muss man noch im

Eingetragen von Stefan.Korn (286)
am 09.09.2015 - 15:25 Uhr

Stimmt, dann muss man noch im View unter "Andere -> Datenbankabfrageeinstellungen" -> "Eindeutig" (Distinct) auswählen. Dann sollten die Duplikate weg sein, "Duplikate reduzieren" beim Filter braucht man dann nicht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 3 Tagen 21 Stunden
  • Hey danke
    vor 4 Tagen 16 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 10 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 5 Stunden
  • In der entsprechenden View
    vor 2 Wochen 5 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 5 Stunden
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 9 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association