[gelöst] Theming CCK mit/ohne Fieldgroups/Tabs
am 17.03.2011 - 16:43 Uhr in
Hallo,
Bin nicht sicher, ob dies in dieses Forum oder eher ins CCK-Forum gehört...anyway:
Mir ist aufgefallen, dass der Parameter in der function mytheme_preprocess_node(&$vars) {...}
unterschiedlich aufbereitet wird, je nach dem, ob im Inhaltstyp die CCK-Felder für sich alleine stehen,
oder ob sie innerhalb eines Fieldgroup-Tabs bzw einer Fieldgroup sind.
$vars['node']->content['fieldgroup_tabs']['group_allgemein']['field_gugus1']['#children'];
$vars['node']->content['group_preise']['group']['field_gugus2']['#children'];
gugus 1 ist ein Feld, welches in einer Feldgruppe ist, welche als Tab ausgegeben werden soll.
gugus 2 ist ein Feld, welches in einer collapsiblen Feldgruppe ist.
Da ich u.U. im Template diese Felder separat ansprechen möchte, komme ich
nicht drumrum, diese im preprocessor umzubiegen.
Wenn mir nun jemand im Inhaltstyp einfach so die Felder herumschiebt, oder Feldgruppen löscht, dann
stimmen diese $vars nicht mehr.
Da $vars unerhört gross ist, und bei der Darstellung mit print_r wegen der Rekursion fast der Firefox
überhitzt frage ich folgendes an:
Gibt es in $vars einen Abschnitt in dem die CCK-Felder fertig gethemed sind und die Struktur unabhängig
von oberem Sachverhalt ansprechbar sind?
Danke und lg leda
- Anmelden oder Registrieren um Kommentare zu schreiben

Wenn dir dein Browser bei der
am 17.03.2011 - 22:23 Uhr
Wenn dir dein Browser bei der print_r Ausgabe von node Objekten abstürzt solltest du mal einen Blick auf das [do:devel] Modul werfen.
Dieses bietet dir den Befehl den dsm Befehl:
<?phpdsm($varname);
?>
dsm nutzt das Opensource Projekt krumo für die Ausgabe von Debug-Daten, dies lässt sich auch in beliebigen PHP-Projekten /Frameworks einsetzen.
Damit kannst du die $vars bequem durchbrowsen und entsprechend themen..
SteffenR
Gut, dann werde ich mir das
am 18.03.2011 - 20:20 Uhr
Gut, dann werde ich mir das devel-modul mal zu Gemüte führen, danke für den Hinweis, dass es mit den Variablen besser zurechtkommt.
Inzwischen habe ich für mich festgestellt, dass, wenn man einen Inhaltstyp selber themen will, darf man simpel einfach die Feldgruppen NICHT auf etwas anderes als "kein Design" stellen. Dann erhält man in jedem Fall Variablen im Template mit $field_xxx_rendered.
Diese Erkenntnis hat mich jetzt einige Stunden gekostet...man lernt ja nie aus.
edit: devel und der Befehl dsm($var) sind wirklich prima. danke für den tipp!