template

Πώς κάνουμε γενικό override για κάποιο template στο drupal

Ας υποθέσουμε οτι θέλουμε να κάνουμε override ένα ολόκληρο template, που σημαίνει ότι όπου και αν εμφανίζεται αυτό στην σελίδα μας θα εμφανίζεται όπως το διατάξουμε εμείς

Για να το πετύχουμε αντιγράφουμε το αντίστοιχο template είτε από το modules (πυρήνα του drupal) είτε από ένα πρόσθετο (sites/all//modules) - ανάλογα που βρίσκεται - στο sites/all/themes//templates/
για παράδειγμα αν αντιγράψουμε από το core του drupal το αρχείο field.tpl.php στον παραπάνω φάκελο και τροποποιήσουμε το αντεγραμμένο αρχείο τότε όλες οι εμφανίσεις των fields που υπάρχουν στην σελίδα μας θα αλλάξουν
μην ξεχάσετε να κάνετε clear all cashes από το administrator του drupal

Πώς να εμφανίσετε ένα block του Drupal σε συγκεκριμένες σελίδες

Έστω οτι θέλουμε να εμφανίσουμε ένα block μόνο σε συγκεκριμένα url aliases
Η λύση θα ήταν να ορίσουμε τα url aliases στην κατηγορία “Visibility settings” του επιθυμητού block

Τι γίνεται όμως σε περίπτωση που δεν υπάρχει το σχετικό url αλλά το content type είναι mycontent? (π.χ. Node/1234 – δεν υπάρχει url friendly)
Ή όταν υπάρχουν τόσα πολλά περιεχόμενα που δεν μπορούμε (χρονοβόρα διαδικασία) να ορίζουμε για το καθένα το κατάλληλο url ?

Μία λύση είναι η χρήση κατάλληλων modules όπως είναι το pathAuto όπου αναλαμβάνει αυτό τον ορισμό του url ανάλογα με το είδος του content type
Μια άλλη λύση θα ήταν η χρήση του taxonomy.

Και στις δύο όμως περιπτώσεις ή και σε οποιαδίποτε άλλη - με χρήση κάποιου module- περιορίζουμε και εξαναγκάζουμε το σύστημα μας να έχει συγκεκριμένες δομές και προσθέτουμε χαρακτηριστικά χωρίς απαραίτητα να είναι τα επιθυμητά
Μια καλή λύση στην περίπτωσή μας είναι η επιλογή με custom έλεγχο (χρήση php)

Subscribe to RSS - template