Drupal

Πώς αλλάζω την συμπεριφορά μιας συνάρτησης στο drupal

Η λειτουργικότητα που περιγράφεται αλλάζει (override) ή τροποποιεί-επεκτείνει την λειτουργικότητα κάποιας συνάρτησης στο Drupal

Συνήθως η διαδικασία αυτή επεμβαίνει σε συναρτήσεις αρχείων με κατάληξη inc

Για παράδειγμα η συνάρτηση theme_menu_tree του αρχείου του πυρήνα του drupal includes/menu.inc εξαναγκάζει όλα τα menu του drupal να είναι τύπου

Πώς κάνουμε γενικό 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

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

Υπάρχουν φορές που η εμφάνιση κάποιου συστατικού, σελίδας, view ή node δεν μας καλύπτει πλήρως και δεν υπάρχει standard τρόπος (ή με κάποιο άλλο module) να πετύχουμε το αποτέλεσμα που επιθυμούμε
Η λύση είναι να παράκαμψη της προεπιλεγμένης φόρτωσης αρχείων του drupal και η επιλογή του δικού μας (override).

Πως να εμφανίσετε ένα δυναμικό ή custom μενού σε ένα view

Έστω οτι θέλουμε να εμφανίσουμε ένα μενού σε ένα view του οποίου τα links εξαρτώνται απο την ύπαρξη ή μή nodes συγκεκριμένου τύπου.
Για παράδειγμα έστω οτι έχουμε άρθρα που θέλουμε να εμφανίζονται σε ένα view κατηγοριοποιημένα ανα έτος. Στο πάνω μέρος του view (header) θα μπορούσαμε να τοποθετήσουμε μενού που θα περιέχει links με τα έτη εκείνα για τα οποία υπάρχει τουλάχιστον ένα άρθρο.

Η διαδικασία περιλαμβάνει τοποθέτηση php κώδικα στο Header του view

Πώς να εμφανίσετε ένα 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)

Πως να εγκαταστήσετε το Drush στο συστημα σας

Εγκαθιστώντας το Drush σε ένα από τους φακέλους που το σύστημα σας φιλοξενεί εκτελέσιμα προγράμματα, δίνετε σε όλους τους χρήστες το δικαίωμα να χρησιμοποιήσουν την εφαρμογή. Οι παρακάτω ενέργειες προϋποθέτουν οτι έχετε δικαιώματα root ή είστε χρήστης με δικαιώματα sudo.

Για να εγκαταστήσετε την τελευταία έκδοση του drush παρακαλώ συμβουλευτείτε την σελίδα του project drush και αντικαταστήστε την διαδρομή (url) στην εντολή wget.

Subscribe to RSS - Drupal