Πώς κάνω Theming στο drupal

Υπάρχουν διαφορετικές προσεγγίσεις για override και παραθέτουμε τις πιο διαδεδομένες

α) Με χρήση του οπου module Content Templates (Contemplate) http://drupal.org/project/contemplate, όπου μας επιτρέπει το override των template των nodes
Έτσι αν θέλουμε να αλλάξουμε την δομή ή να διαφοροποιήσουμε την εμφάνιση των body των articles μπορούμε στον φάκελο sites/all/contemplates να προσθεσουμε το αρχείο node-article-body.tpl.php και να προσθέσουμε των αντίστοιχο κώδικα που θέλουμε.

Αντίστοιχα για το teaser θα δημιουργούσαμε το αρχείο node-article-teaser.tpl.php

Το περιεχόμενο που πρέπει να προσθέσουμε αρχικά στο αρχείο ώστε να διευκολυνθούμε αρκετά (γιατί δεν γνωρίζουμε απ' εξω το default theme όλων των nodes) το αντλούμε απο το structure → content types → content templates → edit template (στο αντίστοιχο content type που επιθυμούμε)

Έπειτα απο την καρτέλα teaser body ή rss επιλέγουμε affect teaser (ή body ή rss) output και αντιγράφουμε τον κώδικα στο αντίστοιχο αρχείο
Στην συνέχεια μπορούμε να τροποποιήσουμε τον κώδικα όπως εμείς επιθυμούμε.

β) overriding views (εγκατεστημένo το module views)

Όταν θέλουμε να αλλάξουμε την default εμφάνιση ενός view αναπτύσουμε την καρτέλα advanced και κάνουμε κλικ στο Theme: Information

Έπειτα ανάλογα με το τί θέλουμε να κάνουμε override (display-style-row-field) κάνουμε click στο αντίστοιχο link και αντιγράφουμε τον κώδικα σε αρχείο που περιγράφετε δεξιά του link. Το αρχείο αυτό ανάλογα την ονομασία του θα κάνει override σε όλα τα pages ή σε συγκεκριμένο page του αντίστοιχου view.

Το αρχείο αυτό θα πρέπει να τοποθετηθεί στο sites/all/themes/template/templates

παράδειγμα
sites/all/themes//views-view—myviewarticles—page.tpl.php

Θα κάνει override το βασικό page του view “myviewarticles” απο όπου μπορούμε να αλλάξουμε και την εμφάνιση του.

Υπάρχουν και άλλες τεχνικές για theming που θα αναλυθούν σε άλλο totorial