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

[Gelöst] Vollansicht abhängig von einem Taxonomy Term machen

Eingetragen von Taranis (137)
am 24.02.2013 - 21:26 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo,
Ich muss die Vollansicht-Ausgabe (node.tpl.php) abhängig vom jeweiligen Begriff eines Vokabulars gestalten.
Das heisst:
Wenn Node mit Term X erstellt wurde dann muss die Vollansicht anders gestaltet werden, als bei der Node mit Term Y.
Ich hoffe das war einigermassen verständlich.

Gibt es eine Möglichkeit mit Template-Suggestions?
Oder eine andere Möglichkeit?

Danke im Voraus

‹ Monochrome Theme [Gelöst] Vollansicht abhängig von einem Taxonomy Term machen ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Du könntest das Ganze einfach

Eingetragen von SteffenR@drupal.org (2262)
am 25.02.2013 - 07:49 Uhr

Du könntest das Ganze einfach über das [do:panels] Modul "zurecht klicken" - Panels bietet dir die Möglichkeit Bedingungen für die Anzeige von Seiten zu setzen. In deinem Falle würdest du pro Term-Id eine Panel-Variante erstellen und die Inhalte entsprechend ausrichten.

Ein anderer Weg geht dann doch schon eher in Richtung PHP und das Überschreiben / Erweitern des node.tpl.php über den template_preprocess_node. Hier würdest du dann je nach Term-Id die gewünschten Änderungen vornehmen.

Wie umfangreich sehen denn deine Änderung pro Term-Id aus ?

SteffenR

  • Anmelden oder Registrieren um Kommentare zu schreiben

Es geht um ca. 40 verschiedene Term Ids

Eingetragen von Taranis (137)
am 25.02.2013 - 09:28 Uhr

Hallo Steffen,
Erstmal vielen Dank für deine schnelle Antwort.

Das Szenario:
Drupal7 Verwaltung von Regionen. Jede Region hat eine eigene Term Id.
Mir ist grundsätzlich alles klar.

Nur muss ich an die Vollansicht für jede einzelne Term Id ran, damit jedesmal wenn der Nutzer einen Artikel aus einer bestimmten Region zur Vollansicht anklickt, müssen spezielle Inhalte oder Informationen erscheinen.
Über die Node.tpl.php hatte ich es bereits versucht, doch da bin ich nicht weiter gekommen.
Wobei ich diese Variante, der Panels-Variante vorziehen würde.

Wenn es nicht mit php klappt, dann teste ich diesen Weg.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da man ja dieselbe Taxonomie

Eingetragen von leda.ch (977)
am 25.02.2013 - 08:48 Uhr

Da man ja dieselbe Taxonomie in verschiedenen Inhaltstypen verwenden kann, könntest Du vielleicht auch den Aufwand zusätzlich reduzieren,
indem Du die Inhalte auf mehr als einen Inhaltstyp verteiltest?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da würde letztlich zu einer Vielzahl Content-Typen führen

Eingetragen von Taranis (137)
am 25.02.2013 - 09:31 Uhr

Und das würde alles unübersichtlicher machen.
Trotzdem danke für diese Anregung.
Wäre als ultima ratio in Erwägung zu ziehen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Template

Eingetragen von stBorchert (6003)
am 25.02.2013 - 09:45 Uhr

Hallo.
In Deiner template.php fügst Du einfach diesen Code hinzu (oder erweiterst die eventuell bestehende preprocess-Funktion):

<?php
function mytheme_preprocess_node(&$variables) {
  if ((
$items = field_get_items('node', $variables['node'], 'NAME_DEINES_TERM_FELDS')) !== FALSE) {
   
// dpm($items);
   
foreach ($items as $item) {
     
$tid = $item['tid'];
     
$variables['theme_hook_suggestions'][] = 'node__term_' . $tid;
    }
  }
}
?>

Das sollte eigentlich funktionieren.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Template.php angepasst - Trotzdem keine Ausgabe

Eingetragen von Taranis (137)
am 25.02.2013 - 10:51 Uhr

In die Template habe ich alles eingetragen.

  • mytheme --> in meinen Themenamen geändert
  • NAME_DEINES_TERM_FELDS --> Termname eingesetzt

Die Beispiel Datei: node--term-100.tpl.php angelegt

Text mit h2-Tag in die Datei eingesetzt
Cache geleert.

Text ist nicht zu sehen.
Was mache ich falsch?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hast Du in Deinem Theme auch

Eingetragen von wla (9461)
am 25.02.2013 - 11:12 Uhr

Hast Du in Deinem Theme auch den "normalen" node.tpl.php? Der ist auch erforderlich, damit die speziellen greifen. Dann immer auch den Cache löschen.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja das habe ich

Eingetragen von Taranis (137)
am 25.02.2013 - 11:33 Uhr

In meinem Themefolder gibt es eine node.tpl.php.
Und Cache leere ich immer via Drush/Konsole komplett.

Das Snippet leuchtet mir codetechnisch ein. Nur wird die gewünschte Ausgabe nicht gezeigt.

Mal ein herzliches Danke an Euch Alle und die Versuche mir zu helfen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Feld

Eingetragen von stBorchert (6003)
am 25.02.2013 - 11:35 Uhr
Taranis schrieb

NAME_DEINES_TERM_FELDS --> Termname eingesetzt

Da muss der Name des Term-Reference-Feldes aus dem Inhaltstypen rein, also "field_article_category" oder so ähnlich.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Langsam sehe ich Land

Eingetragen von Taranis (137)
am 25.02.2013 - 13:12 Uhr

Jetzt habe ich den Maschinennamen des Termfields eingesetzt und nun sehe ich die Testmessage sowohl in der Termübersicht/Teaseransicht als auch in der Vollansicht des jeweiligen Terms.
Wenn jetzt noch die Teaseransicht wegfällt, ist es perfekt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nun habe ich es

Eingetragen von Taranis (137)
am 25.02.2013 - 13:37 Uhr

Ich habe in der node--term-$tid.tpl.php den folgenden Schnippsel eingesetzt.

if($view_mode == 'teaser') {
// keine Ausgabe
}
else {
// Ausgabe
}

Nun funktioniert es.
Ich bedanke mich bei Allen, die mir geholfen haben.

  • 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 1 Woche 20 Stunden
  • Hey danke
    vor 1 Woche 1 Tag
  • Update: jetzt gibt's ein
    vor 1 Woche 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 1 Woche 6 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 6 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 4 Tagen
  • In der entsprechenden View
    vor 2 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 4 Tagen
  • gelöst
    vor 5 Wochen 17 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 21 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