Eigene Variable für panels layout definieren
am 04.01.2017 - 13:17 Uhr in
Hallo zusammen,
ich habe ein eigenes Panels Layout Plugin erstellt und nutze dieses mit Panelizer. Nun benötige ich ziemlich viele Klassen, die aus Feldwerten bzw. Tokens definiert werden. Use case ist ein Bildslider, in den der User u.a. Rahmenfarben und Hintergrundfarben für die 2 Spalten selbst eingeben kann.
In der template.php nutze ich:
- hook_preprocess_field,
- hook__preprocess_entity / hook_preprocess_field_collection_item,
- hook_preprocess_panels_pane.
Was mir fehlt, sind dynamische Klassen im Wrapper des Panels Templates. Das ist wichtig, da ich bestimmte Klassen einfach so weit außen im CSS haben muss. Panels bietet zwar das Klassenfeld unter Settings, aber ich stelle meinen Feldwerten (=Tokens) ein Präfix voran (z.B. bgcolor-left-%node:field_bgcolor_left), dadurch reicht der verfügbare Platz nicht für die min. 4 Klassen, die ich benötige (ganz abgesehen davon, dass bei leeren Feldwerten Konstrukte wie bgcolor-left- im HTML landen).
Es ist mir nicht gelungen, für das Panels Template eine Variable zu definieren, die sich über die preprocess-Hooks füllen lässt. Die Variable ist zwar mit kpr($vars) sichtbar, es wird aber im Template nichts ausgedruckt. Ich kann auch keine bestehende Klassenvariable ausmachen, der ich weitere Klassen zuordnen und im Wrapper des Panels ausdrucken kann.
Der Versuch mit einem Panels Style Plugin ist auch gescheitert. Es lassen sich zwar Settings für die einzelnen Panes definieren, nicht aber für die Regions. Obwohl es dort ja auch ein "Rädchen" gibt, prallen die Settings an den Regions ergebnislos ab.
Ich habe rauf und runter gesucht, aber bin leider selbst nicht fündig geworden.
Habt Ihr einen Tipp, wie ich meine Klassen untergebracht kriege?
Vielen Dank im voraus!
kissmedve
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 17 Stunden 41 Minuten
vor 21 Stunden 31 Minuten
vor 2 Tagen 3 Stunden
vor 2 Tagen 3 Stunden
vor 6 Tagen 21 Stunden
vor 6 Tagen 23 Stunden
vor 1 Woche 8 Minuten
vor 1 Woche 9 Minuten
vor 1 Woche 21 Stunden
vor 1 Woche 23 Stunden