Theming CCK

am 17.11.2009 - 15:07 Uhr in
Hallo!
Ich bin neu bei Drupal, bin aber schon so weit, das ich meine "frontpage" von grundauf gethemed habe, was auch nach einigen anfangsproblemen ganz gut gegangen ist. Nun habe ich allerdings das problem das ich das node / cck system nicht verstehe.
Das views nicht zum themen von cck da ist habe ich schon verstanden (scheint eher ein editor für sql querries zu sein?!)
Was ich auf jedenfall versuche ist nachdem ich ein content type mit cck feldern gemacht habe den output der einträge zu themen. Generell wird ja alles nur als eine lange liste dargestellt, ich möchte dies aber nun komplett überarbeiten.
Dazu habe ich mir eine node-type.tpl.php datei erstellt, und dort folgenden code drin:
<?php
// $Id: node.tpl.php,v 1.5 2007/10/11 09:51:29 goba Exp $
?>
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
<?php print $picture ?>
<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
<?php if ($submitted): ?>
<span class="submitted"><?php print $submitted; ?></span>
<?php endif; ?>
<div class="content clear-block">
<?php print $content ?>
</div>
<div class="clear-block">
<div class="meta">
<?php if ($taxonomy): ?>
<div class="terms"><?php print $terms ?></div>
<?php endif;?>
</div>
<?php if ($links): ?>
<div class="links"><?php print $links; ?></div>
<?php endif; ?>
</div>
</div>
(ist aus dem Garland theme)
Wie aber gehe ich jetzt vor? Wie mache ich die einzelnen felder themeable via css datei? Eventuell gehe ich das ganze auch falsch an, bitte um Hilfe :)
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
dopedwizard schrieb Wie
am 17.11.2009 - 16:31 Uhr
Wie mache ich die einzelnen felder themeable via css datei? Eventuell gehe ich das ganze auch falsch an, bitte um Hilfe :)
Du schaust dir den erzeugten HTML Quellcode deiner Seite mit Firebug an, dnn weißt du mit welchen Stilen der markup der diversen Felder versehen ist und kannst dessen Standard-Styling über die CSS-Datei deines eigenen Themes überschreiben.
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
Hi vielen Dank für die
am 17.11.2009 - 16:54 Uhr
Hi vielen Dank für die rasche antwort!!
Das habe ich schon gemacht aber jetzt habe ich zum beispiel folgendes
<div class="field-items">
<div class="field-item odd">
Täglich 16:00-18:00 </div>
</div>
field-items trifft aber auf alle felder zu.... somit kann ich dann ja nicht das einzelne feld themen oder bewegen ohne das die anderen auch alle betroffen sind... :(
Um den div.field-item herum
am 17.11.2009 - 16:59 Uhr
Um den div.field-item herum kommt aber noch mehr Klassen und IDs, die einem erlauben gezielt einzugrenzen, ggf. kann du über deine Template-Dateien auch hier und da fallspezifisch IDs / Klassen statisch oder dynamisch (via PHP) hinzufügen, um etwa so Spielereien zu machen, wie nach Nodetyp zu unterscheiden, etc.
In 95% der Anwendungsfälle reicht der ausgespuckte Standardmarkup der Module und des Core völlig aus - wenn man entsprechend fit in CSS ist!
Wen das stört, der kann natürlich die Theme-Funktionen der Module selbst in der template.php des eigenen Themes überschreiben und damit exakt den Markup erzeugen, den man haben will. Dazu brauchts natürlich etwas PHP-Kenntnis und ein wenig Arbeit sich in die themebaren Funktionen der diversen Module einzulesen.
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
JA ich merke schon auf mich
am 17.11.2009 - 17:15 Uhr
JA ich merke schon auf mich kommt noch viel Arbeit zu. Gibt es in Bezug auf themen eventuell eine video tutorial oder ein buch das du empfehlen kannst... vieles was ich bisher dazu gefunden habe geht meist nicht genug ins detail oder setzt dann doch zu viele kenntnisse voraus.... also ein gesundes zwischen dingen habe ich leider noch nicht gefunden.
Vielen Dank auf jedenfall dafür das du dir hier die Zeit genommen hast, werde jetzt mal etwas herum spielen.
Hm, das Theming-System ist
am 17.11.2009 - 17:35 Uhr
Hm, das Theming-System ist recht gut und ausführlich in "Pro Drupal Development" erklärt, welches in der 2. Ausgabe (für Drupal 6) auch auf Deutsch erhältlich ist. So Sachen wie das fallweise Einfügen von CSS Klassen oder HTML-Schnipseln siehst du ja praktisch überall in den Template-Dateien der Themes. Dein oben geposteter Code ist voll davon, besonders am Anfang mit den Sticky- und Published-Klassen. Die Grundidee ist also nicht neu, es braucht nur ein wenig Bauchgefühl um eine Idee davon zu bekommen wann und wo dies für einen selbst auch eine Lösungsmöglichkeit sein kann.
Über CSS gibt es natürlich 1001 Bücher. Ein spezielles Buch für Drupal habe ich da nun nicht im Regal. Es ibt aber ein oder zwei: da schau her
Der Webentwickler als solcher ist ja ein sehr inderdisziplinär tätiger Mensch, der neben wenigstens einer klassischen Programmiersprache (hier PHP), XHTML, CSS auch JavaScript (bei Drupal vorzugsweise in Form von jQuery) und mglw. noch vieles mehr beherrscht. Entsprechend ist man je nach eigenerm Gusto u.U. mit einem ganzen Arsenal von Büchern bewaffnet. Ein Alles-in-einem-Abwasch-Buch kann entweder alles nur recht oberflächlich betrachten oder müsste wenigstens 2500 Seiten dick sein. ;-)
--
mortendk: everytime you use contemplate... Thor is striking down from above with his mighty hammer - crushing and killing a kitten!
webseiter.de
dopedwizard schrieb Gibt
am 17.11.2009 - 17:39 Uhr
Gibt es in Bezug auf themen eventuell eine video tutorial ...
Gibt diesbezüglich einiges zu finden im Web. Mein absoluter Favorit bezüglich Videos ist Bob von Mustardseedmedia. Sieh Dir mal die Videos unter http://mustardseedmedia.com/podcast durch.
Dort gibt es bestimmt fünf oder sechs Videos, die sich mit dem Thema Theming beschäftigen ...
Design Probleme einfach mit FF und FIREBUG lösen!
Vielen Dank, gerade die
am 18.11.2009 - 00:27 Uhr
Vielen Dank, gerade die mustardseedmedia videos finde ich sehr hilfreich... wegen den Büchern gucke ich auch nochmal. Bin jetzt dank dem Node video auch schon zumindest vom verständniss her ein ganzes stück weiter. Allerdings bin ich auf zwei probleme gestossen:
a) Wenn ich mich auslogge sehe ich nicht mehr die CCK felder die ich per print ausgegeben habe (als admin sehe ich diese)? Muss ich bestimmte permissions für anonyme nutzer beachten bei cck feldern?!
b) wird der titel der nodes doppelt angezeugt. Der "grosse" soll angezeigt werden der kleine nicht. Der kleine ist auch nicht per node.tpl.php vorgegeben, woher kommt der?
Danke.