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 - 17: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 - 10: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 - 14: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 - 20: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

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Inzwischen sind wir bei
    vor 1 Woche 3 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 3 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 21 Stunden
  • Hey danke
    vor 9 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 9 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 9 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 9 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 4 Tagen
  • In der entsprechenden View
    vor 10 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 10 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250236
Registrierte User: 20463

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

» 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