Drupal6 Css Theming
-
Upload
roy-scholten -
Category
Design
-
view
1.115 -
download
0
description
Transcript of Drupal6 Css Theming
1
Lichtgewicht CSS design voor Drupal 6Roy ScholtenDrupaljam Enschede, 20 maart 2009
2
Question:
“How to convert an OSWD design into a Drupal theme. In 45 minutes?”
Wie heeft deze vraag gesteld?
3
Answer:
You don't!
OSWD.org is download site voor open source webdesigns
Weinig bruikbaars, vrij magertjes allemaal.
Laatste toevoeging is van 2007
4
Neem liever contact op met…
Roy Scholten
Interaction design, Drupal UX, illustratie & other fine arts…
www.yoroy.com
Beetje zelf-promo natuurlijk…
5
rename to:
Lichtgewicht CSS design voor Drupal 6
Los daarvan, wel interessant om proces voor e!ciënt en 'from scratch' stylen van Drupal te bekijken
Doel deze presentatie:
Een snelle en simpele aanpak voor “CSS only” theming.
Het is makkelijker dan je denkt…
6
pushbutton, chameleon en bluemarine
StarkEen nieuw, minimaal D7 core theme
D6 versie: http://drupal.org/project/stark
Status update Drupal 7:
De meeste Core themes zijn verwijderd
Op dit moment 1 nieuw theme toegevoegd: Stark
Doel van Stark:
Drupal's standaard HTML en CSS output inzichtelijk maken.
Drempel voor nieuwe designers verlagen
Backport voor D6 verkrijgbaar.
7
Stark:
Core HTML en CSSmet een klein beetje layout
8
Layout bestaat uit het plaatsen van de default core regions
Regions definiëren de 5 basiskaders binnen je pagina.
9
Stark naked = spier naakt, vandaar.
10
Goed dan, bij wijze van voorbeeld…
http://www.oswd.org/design/preview/id/2434
Vooruit dan maar…
Meeste themes op OSWD hebben maar 1 sidebar.
De themes zijn nogal basic.
Aanpak voor Drupal dus focussen op zo generiek mogelijk stylen zodat je zoveel mogelijk use cases afdekt.
11
In de verpakking:
1 HTML pagina1 CSS bestand1 Logo8 Achtergrondplaatjes
12
Een minimaal D6 theme:
.info bestand
- logo
- screenshot (150x90px)
Een D6 theme bestaat uit een map met de naam van je theme
Daarin in ieder geval een .info bestand
Logo en screenshot optioneel maar oogt wel zo prettig in de themes lijst van Drupal admin.
13
themenaam.info bevat minimaal:
name = Geen
description = Stijl
core = 6.x
engine = phptemplate
themenaam.info:
Core = versie van Drupal. Zes dus
Vraag: wie weet er nog 2 andere theming engines te noemen?
Vergeet ze direct weer, phptemplate wordt in ca. 97.547% van de gevallen gebruikt.
14
/admin/build/themes
plaats theme-map in:
drupal/sites/all/themes
Zonder logo en screenshot komt het dan zo in de themes lijst terecht.
Een theme met alleen een .info bestand heeft dus geen layout en de output ziet er dus niet uit, alles onder elkaar.
15
hoera voor sub theming
name = Geen
description = Stijl
core = 6.x
engine = phptemplate
base theme = stark
In plaats van zelf styles te schrijven om de regions te positioneren, waarom niet gewoon hergebruiken?
Override, don't duplicate.
Maak je theme dus een sub theme van Stark.
(Voor D6 misschien nog niet geheel logisch omdat Stark daar nog niet in core zit, maar dit is wel de best practise)
16
<demo>
Live demos gaan natuurlijk altijd fout. Ik zat het verkeerde .info file te bewerken!
17
Eigen CSS bestand mee laten doen
…
base theme = stark
stylesheets[all][] = geen.css
Nou hebben we nog een plek nodig om alle nieuwe style rules in te zetten.
Maak themenaam.css aan en plaats in je map
Breng Drupal hiervan op de hoogte door het CSS bestand te noemen in je .info bestand.
18
Dit is de index.html uit de download.
Neem even de tijd om de grote blokken te herkennen, wat komt in welke region etc.
19
Dit is de onderliggende structuur.
Stark's layout.css houdt rekening met zowel 1 als 2 sidebars, dus die gooien we er op voorhand nog niet uit.
20
www.getfirebug.com
Aan de slag.
Firebug is onmisbaar bij dit soort werk.
Extensie voor Firefox die de HTML structuur en CSS van een pagina inzichtelijk maakt.
21
Links het doel,
Rechts ons uitgangspunt, een Stark sub theme
22
Gebruik Firebug om in “Plain” de elementen te vinden waar de meeste styling aanhangt.
Zoek in Stark output de corresponderende HTML en CSS IDs en classes te vinden.
Werk van boven naar beneden (header tot footer)En van buiten naar binnen (grote brokken eerst,
daarna verfijnen.
23
Nogmaals het OSWD design
24
45 minuten later…
25
De basis staat
26
Layout van de OSWD download weer:
Zie hoe de groene tekst over de volle breedte loopt.
27
En in het Drupal theme (nog) niet
Dit is de “mission” tekst in Drupal en deze bevindt zich in de content region.
28
Dit is de onderliggende structuur.
Stark's layout.css houdt rekening met zowel 1 als 2 sidebars, dus die gooien we er op voorhand nog niet uit.
29
Tot zover de CSS only…
page.tpl.phpdrupal/modules/system/page.tpl.php
Hier loop je dus tegen de muur van een region aan.
De mission wordt standaard in de content region weergegeven.
Dat kunnen we veranderen door de template voor de pagina te veranderen.
Beetje PHP maar doet bijna geen pijn, is nog steeds een goed leesbare html pagina.
30
Kopie ervan in je theme map
Kopieer page.tpl.php naar je eigen theme map en verplaats het stukje dat de $mission print naar de header region.
Je zult zien dat dat ook niet helemaal werkt omdat het dan boven de navigatie uitkomt.
Je zou het tusssen de header en content regions kunnen plaatsen of een nieuwe region definieeren.
31
Dus, maak een mapje met:
- .info bestand (definieer een base theme)
- themenaam.css & gaan!
32
En niet meer naar OSWD hè!
33
Dank voor uw aandacht
Vragen?
34
Oh ja, Zen.
drupal.org/project/zen
Aanrader voor als je veel Drupal onderdelen moet stylen.
Veel documentatie, alles in 1 pakket, ideale inleiding in alle vormen van theming
Overkill voor themes die alleen maar een beperkte front end hoeven aan te kleden.
35
De groeten!
yoroy | roy scholten | yoroy.com
36