Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Views ›

Views Theming und verfügbare Variablen

Eingetragen von GevatterTod (85)
am 12.05.2011 - 18:19 Uhr in
  • Views
  • Drupal 6.x oder neuer

Stolpere bei Views immer wieder über ähnliche Probleme wenn es um detailiertere Anpassung der Ausgabe geht. Problem ist eigentlich immer, dass ich in bestimmten Templates keinen Zugriff mehr auf die Daten früherer Ebenen habe.
Diesbezüglich akut: Ich benutze das Views-Accordion Modul, habe dort entsprechend pro accordion-element Anpassungen vorgenommen in der Datei views-view-accordion--Meinview.tpl.php
Nun würde ich aber gern noch gewisse Dinge anders anzeigen lassen in Abhängigkeit eines Wertes von einem der Felder die ich im View lade.
Meine verfügbaren Variablen in diesem Template File sind aber nur noch die $rows, welche schon den komplett formatierten Inhalt enthalten. Was ich bräuchte wäre aber das Array $fields wie ich es in views-view-fields.tpl.php habe, wo ich die Werte einzelner Felder auslesen kann.
Beim Accordion gruppiere ich mehrere Datensätze und will ein bestimmtes Feld der Datensätze überprüfen. Ist dieses Feld mit "x" gesetzt soll IM Accordion unter allen gruppierten Datensätzen etwas angezeigt werden, also nicht unter dem betroffenen Datensatz und auch nicht unter jedem Datensatz innerhalb des Accordions.
Hoffe ich konnte das verständlich ausdrücken. Kern der Frage ist jedenfalls wie ich mir die $fields-Informationen auf der Ebene von views-view-accordion--Meinview.tpl.php nutzbar machen kann bzw logischerweise $rows um weitere Daten erweitere.

Wie bewerkstellige ich das bzw generell die "Übergabe" von Werten in höhere Template-Ebenen? Geht das nur mit entsprechenden Hooks?

‹ Ein Button mit vordefinierter Funktion Button mit frei wählbarem Text in View ausgeben der auf Beitrag verlinkt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

hast du mehrere verschiedene

Eingetragen von Peter Majmesku (656)
am 13.05.2011 - 11:05 Uhr

hast du mehrere verschiedene block- bzw page-views innerhalb einer view und möchtest diese unabhängig voneinander themen? ansonsten kannst du deinen wert im theme in die globals bzw sessions variable setzen und damot innerhalb verschiedener template dateien etwas machen. diese lösung ist allerdings hacky. vielleicht schaust du dir auch mal hook_views_prebuild() bzw die views api an.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für den Tipp,

Eingetragen von GevatterTod (85)
am 18.05.2011 - 15:42 Uhr

Danke für den Tipp, weitergekommen bin ich zumindest mit dem hook_views_prebuild noch nicht so recht. Coding in Views ist mir da stellenweise gerade ein ziemliches Rätsel.
Bin jetzt auf folgende preprocess-Lösung in der template.php gekommen nach einigen Stunden Rumprobieren, Grübeln und Gebastel:

function phptemplate_preprocess_views_view_accordion(&$vars) {
  $view = $vars['view'];
  $result = $view ->result;
  //dprint_r($result);
  global $ccount;
  if(!$ccount) {
  $ccount='0';
  }
    $vars['info'][$ccount]['nid']=$result[$ccount]->nid;
    $vars['info'][$ccount]['status']=$result[$ccount]->node_data_field_status_field_status_value;
  $ccount++;
}

Ich befülle mir also mit der Funktion ein zusätzliches Array in dem ich die Elemente pro Aufruf der Funktion durchnummeriere ($ccount), später gehe ich im views-view-accordion.tpl.php mit einem dort verwendeten globalen Zähler das $info-array wieder durch und hole mir dort den passenden Wert für die Node-ID und das Statusfeld für jedes $row Element...
So wirklich gefallen mag mir diese Lösung nicht, ist doch ein ziemliches Gebastel von hinten durch die Brust ins Auge. Vielleicht kennt doch noch jemand eine bessere Lösung.

Kann mir nicht vorstellen der erste zu sein, der z.B. die nid auf dieser Template-Ebene nutzen will, oder?

  • Anmelden oder Registrieren um Kommentare zu schreiben

dein problem ist

Eingetragen von Peter Majmesku (656)
am 18.05.2011 - 21:23 Uhr

dein problem ist modulspezifisch. schreibe dein problem in die views-issues liste unter d.o.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Hey, pal, don't miss this epic article — it's packed with mind-blowing design and just plain amazing content!
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 3 Tagen
  • Wenn die Subdomain auf
    vor 1 Woche 5 Tagen
  • ordnerstruktur
    vor 1 Woche 6 Tagen
  • Die Subdomain muß auf den
    vor 2 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 3 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 18 Stunden
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250290
Registrierte User: 20518

Neue User:

  • Mropfizzaneld
  • Wolf Dab
  • Scottteday

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 30 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