How to articles

Πώς αλλάζω την συμπεριφορά μιας συνάρτησης στο 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)

Centos 6 εγκαταστήστε επιπλέον repositories

Αρχικά εισάγετε το κλειδί GPG για τα πακέτα των νέων repositories:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Στην συνέχεια ενεργοποιήστε τα repositories RPMForge και EPEL για να έχετε πρόσβαση σε πακέτα (εφαρμογές) που δεν υποστηρίζει το επίσημο repository.

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
cd /tmp
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Εγκατάσταση Freenx σε Ubuntu 11.10 (Oneiric)


sudo apt-get install python-software-properties
sudo add-apt-repository ppa:freenx-team

sudo sed -i 's/oneiric/lucid/g' /etc/apt/sources.list.d/freenx-team-ppa-oneiric.list

sudo apt-get update && sudo apt-get upgrade

wget http://de.archive.ubuntu.com/ubuntu/pool/main/e/esound/esound-common_0.2.41-8_all.deb
sudo dpkg -i esound-common_0.2.41-8_all.deb

wget http://de.archive.ubuntu.com/ubuntu/pool/main/e/esound/libesd0_0.2.41-8_amd64.deb
sudo dpkg -i libesd0_0.2.41-8_amd64.deb

Import από .ods σε phpmyadmin version 3.3 +

It seems that Open Office automatically compresses the file in a format not compatible with phpmyadmin.

What you have to do is:

Eclipse και Drupal

Το eclipse αποτελεί ένα αρκετά δημοφιλές περιβάλλον ανάπτυξης λογισμικού(integrated development environment, IDE). Βασικός σκοπός των IDE είναι να επιταχύνουν την προγραμματιστική διαδικασία και να παρέχουν εργαλεία που διευκολύνουν την συγγραφή κώδικα. Χαρακτηριστικά παραδείγματα τέτοιων ενσωματωμένων εργαλείων είναι ο debugger, η αυτόματη συμπλήρωση (π.χ μεταβλητών, συναρτήσεων), η δημιουργία documentation κλπ.

Εγκατάσταση Drupal 7 σε Ubuntu 11.04 (Natty Narwhal)

Έχοντας ρυθμίσει το περιβάλλον μας όπως αναφέρεται σε προηγούμενο how-to (link υπάρχει στο τέλος του κειμένου), είμαστε έτοιμοι για να εγκαταστήσουμε το Drupal.

Δημιουργούμε ένα φάκελο για τα δικά μας project που θα μας “σερβίρει” ο apache:


mkdir ~/public_html/

Και μεταβαίνουμε στον φάκελο:


cd ~/public_html/

Κατεβάζουμε την τελευταία έκδοση του Drupal (αυτήν την στιγμή την 7.8) :


http://ftp.drupal.org/files/projects/drupal-7.8.tar.gz

Και την αποσυμπιέζουμε με

Pages

Subscribe to How to articles