Αλλαγή Joomla Template Ανάλογα με το φορτωμένο Component

Πρόσφατα χρειάστηκε να αλλάξουμε ένα template έτσι ώστε να εξαφανίζεται όλη η δεξιά στήλη του design, όταν φορτώνεται ένα component που ονομάζεται Projectfork. Το συγκεκριμένο component έχει μεγάλες απαιτήσεις σε πλάτος οπότε έπρεπε να κάνουμε χώρο.

Το κακό είναι ότι υπήρχαν πάνω από 6 modules στη δεξιά στήλη που ήταν ενεργά σε όλες τις σελίδες και χρειάζονταν να εξαφανιστούν μόνο στο Projectfork!

Υπάρχουν 2 τροποι για να εμφανίσετε ή να εξαφανίσετε ένα module όταν ένα component είναι φορτωμένο.

  1. Αν στο μενού υπάρχει link στο component, πηγαίνετε στο Module Manager, επιλέγετε το module και βάζετε να φαίνεται μόνο σε συγκεκριμένα menu items. Για παράδειγμα παντού εκτός από το component. Βέβαια άν προσθέτε ένα νέο menu item θα πρέπει να πειράξετε και όλα τα modules ξανά! Δε συμφέρει…
  2. Μερικές φορές θέλετε ένα module να φαίνεται παντού εκτός μόνο από 1 component. Επίσης μερικές φορές χρειάζεται να εξαφανίσετε μια ολόκληρη περιοχή, για παράδειγμα τη δεξιά στήλη, όταν βρίσκεστε σε ένα component. Αυτό ακριβώς ίσχυε και στην περίπτωση που εξετάζουμε.

Πώς; Αλλάζουμε το template! Συγκεκριμένα αλλάζουμε το index.php που είναι και το πιο βασικό αρχείο.

Για τη δεξιά στήλη βρίσκουμε που φορτώνεται η περιοχή right και αλλάζουμε λίγο 1 γραμμούλα!

Δεν έχουμε βάλει <?php και ?>

ΑΠΟ:

if(($this->countModules('right'))  :

ΣΕ:

if(($this->countModules('right')) &&  !($_GET["option"]=="com_projectfork")) :

Οπότε φορτώνει τη δεξιά περιοχή μόνο εάν δεν βρισκόμαστε στο component projectfork.

Επίσης χρειάστηκε να κάνουμε και μια αλλαγή στο στυλ ενός άλλου αντικειμένου. Για να μηδενίσουμε το δεξί περιθώριο του αντικειμένου όταν βρισκόμαστε στη σελίδα του Projectfork, προσθέσαμε μέσα στο div του το εξής:

if ($_GET["option"]=="com_projectfork") echo ' style="margin-right:0px;"';

Αφήστε ένα Σχόλιο

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *