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

Views - Pro Zeile Feld-Inhalt als CSS Klasse anstatt normaler Output

Eingetragen von mudds (18)
am 27.05.2013 - 14:53 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo zusammen,

an folgender Stelle komme ich nach zwei Tagen des Suchen und Probierens einfach nicht weiter.

Ich habe einen View. Für diesen View möchte ich im div jeder Zeile den Inhalt eines bestimmten Feldes als CSS-Klasse ausgeben, anstatt als normalen Output.

Grund: Ich möchte abhängig vom Inhalt dieses Feldes einen bestimmten Hintergrund-Banner einblenden.

An welcher Stelle greife ich da ein?

Folgendes habe ich versucht:

  • views-view-unformatted--VIEWNAME.tpl.php: Leider habe ich hier nur ein flachgeklopftes Array für jede View-Zeile
  • HOOK_preprocess_views_view(): auch hier bekomme ich via $vars['rows'] nur das flachgeklopfte Array

Über Hinweise würde ich mnich sehr freuen.

Vielen Dank im Voraus
MAthis

‹ <span class="field-content"> Funktion template_preprocess_field zum Ändern von Feldinhalten vor der Ausgabe: was tun, damit es in Views auch greift? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wie wäre es mit einer

Eingetragen von oteno (775)
am 27.05.2013 - 15:03 Uhr

Wie wäre es mit einer foreach-Schleife für dein "flachgeklopftes Array"?
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

das problem dabei ist, dass

Eingetragen von mudds (18)
am 27.05.2013 - 15:28 Uhr

das problem dabei ist, dass das Array ja gar nicht das betreffende Feld enthält. das soll ja gerade aus dem normalen Output herausfallen und nur als CSS-Klasse erscheinen. mit dieser Methode müsste ich in der View-admin-oberfläche das Feld normal einblenden und dann nachhdem ich es im views_template (z.B. views-view-unormatted.tpl.php) durchloopt habe, an anderer Stelle wieder rausschmeissen...

Ich finde das höchst unbefriedigend :(

Inzwischen suche ich nach einer Möglichkeit, wie ich an geeigneter Stelle ein "node_load" einbauen könnte, um das volle Objekt zu erhalten. Leider sendet mit der View die NID des Objekts der Row nicht mit :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

So ganz verstehe ich leider

Eingetragen von oteno (775)
am 27.05.2013 - 15:42 Uhr

So ganz verstehe ich leider nicht, was du da vorhast.
Aber wenn du den Output einen Feldes überschreiben willst, kannst du ja auch die entprechende views-view-fields.tpl.php überschreiben, oder ein Overwrite in der Views-Administration machen, oder es eben in der foreach-Schleife machen, (nachdem Du es wieder verfügbar gemacht hast)
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier der Screenshot von

Eingetragen von mudds (18)
am 27.05.2013 - 16:32 Uhr

Hier der Screenshot von meinem View:

Die rot durchstrichenen Felder sollen nicht dargestellt werden.

Stattdessen sollen abhängig vom Wert dieses nicht dargestellten Inhalts rechts diese Banderolen als Hintergrundbild basierend auf einer CSS-Klasse dargestellt werden.

Wenn ich den Outbut in "views-view-fields" oder in der views-admininstration überschreibe, dann habe ich die benötigten Daten in "view-view-unformatted.tpl.php nicht mehr zur zur Verfügung.

Meine sehr unschöne Lösung: den flachgeklopfpten $row-string in views-view-unformatted-tpl.php mit "strpos" und "str_replace" zu bearbeiten.

AnhangGröße
view.png 42.68 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja - aber ich verstehe nicht

Eingetragen von oteno (775)
am 27.05.2013 - 17:19 Uhr

Ja - aber ich verstehe nicht was unschön daran sein sollte. Wenn es klappt ist es doch gut.
String-Manipulationen macht man doch oft beim Theming - und es gut dass man mit Drupal in diese Richtung arbeiten kann.
"Schöner" könnte man es vielleicht mit einer preprocess Funktion machen, wenn Du der Meinung bist, dass der Code dort nicht hingehört.
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da hast du recht

Eingetragen von mudds (18)
am 27.05.2013 - 17:46 Uhr

Da hast du recht :).

Wahrscheinlich ist das gar nicht so unschön.

Vielen dank für die Unterstützung beim Denken!

LG Mathis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schon mal Semantic Views ausprobiert?

Eingetragen von maria-rita (504)
am 27.05.2013 - 19:02 Uhr

Hallo,

evtl. hilft Dir auch das Modul weiter.

Du musst im Views nach Installation und Aktivierung dann auf Semantic Views umstellen, dann kannst Du jedem Feld eine eigene css-Klasse geben. Und damit natürlich auch per css dann darauf zugreifen.

Viele Grüße

Marita Betz

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke! das werde ich

Eingetragen von mudds (18)
am 13.06.2013 - 17:36 Uhr

danke! das werde ich ausprobieren

VG Mathis

  • Anmelden oder Registrieren um Kommentare zu schreiben

du kannst bei den

Eingetragen von caw (2762)
am 14.06.2013 - 06:32 Uhr

du kannst bei den einstellungen im view doch zeilenklassen vergeben

  • Anmelden oder Registrieren um Kommentare zu schreiben

echt? Das finde ich

Eingetragen von mudds (18)
am 14.06.2013 - 09:11 Uhr

echt?

Das finde ich nirgends.

Ich sehe nur bei den "Fields" die Möglichkeit durch token substitutions CSS-Klassen zu vergeben. Aber das hilft mir nicht,
da die Klasse im Element für die "Row" eingetragen werden muss.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Views: format-settings

Eingetragen von stBorchert (6003)
am 14.06.2013 - 10:04 Uhr

Moin.
Klick mal beim Format auf "settings":
 format settings

Da kannst Du dann die Token aus den Replacement-Patterns verwenden. Ich habe hier mal als Beispiel das Feld "Node: nid" verwendet. Das wurde per "Exclude this field from output" versteckt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gibt's nicht. Wie konnte ich

Eingetragen von mudds (18)
am 14.06.2013 - 10:16 Uhr

Gibt's nicht.

Wie konnte ich das übersehen!

Tausend Dank :)

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