Τι είναι τα OpenCart layouts;
Τα layouts του OpenCart είναι ένας δυναμικός τρόπος για να παρουσιάσετε τα extensions στο Frontend του OpenCart. Είναι ένα πολύ ευέλικτο feature και ένας από τους ακρογωνιαίους λίθους του OpenCart CMS, ωστόσο, πολλοί χρήστες αδυνατούν να κατανοήσουν τον τρόπο λειτουργίας του.
Κάθε σελίδα που ανοίγετε στο κατάστημα OpenCart συνδέεται με ένα layout. Κάθε layout έχει καθορισμένες 4 πιθανές θέσεις, στις οποίες μπορεί να τοποθετηθεί ένα module. Με άλλα λόγια, μπορείτε να τοποθετήσετε το «Categories» module μόνο στο Category Layout το οποίο βρίσκεται στην «αριστερή στήλη».
Το OpenCart έχει 2 τύπους σελίδων:
- Στατικές σελίδες: (παράδειγμα η Homepage με τη διαδρομή common/home)
- Δυναμικές σελίδες: (παράδειγμα μια Catergory Page με τη διαδρομή product/category)
Η διαφορά μεταξύ στατικών και δυναμικών σελίδων είναι ότι μπορείτε να δημιουργήσετε απεριόριστες δυναμικές σελίδες και να επεξεργαστείτε το περιεχόμενο τους μέσω του admin panel. Μπορείτε επίσης να ορίσετε ένα custom layout για μια δυναμική σελίδα μέσω του admin panel.
Τι είναι οι θέσεις (positions) του OpenCart;
Το OpenCart επιτρέπει στους χρήστες να εμφανίζουν τα modules σε 4 θέσεις: Πάνω μέρος περιεχομένου, Κάτω μέρος, αριστερή στήλη και δεξιά στήλη.
Υπάρχουν third-party extensions που σας επιτρέπουν να επεκτείνετε τον αριθμό των θέσεων.
Μπορείτε να τοποθετήσετε Modules τύπου Extensions σε αυτές τις θέσεις .
Πώς λειτουργούν τα OpenCart Layouts;
Δεδομένου ότι το OpenCart είναι ένα MVC pattern framework, υπάρχει ένα αρχείο ελέγχου θέσης για κάθε θέση. Μπορείτε να βρείτε αυτά τα αρχεία στον κατάλογο catalog/controller/common.
Κάθε ένα αρχείο ελέγχου θέσης (position controller file) κάνει τα εξής:
- Ελέγχει σε ποια σελίδα βρίσκεται ο επισκέπτης και τραβά το συνδεδεμένο Layout με αυτήν τη σελίδα.
- Στη συνέχεια, τραβάει τη λίστα όλων των extension modules που συνδέονται με αυτό το layout και φιλτράρει μόνο εκείνα που είναι συνδεδεμένα στη συγκεκριμένη θέση.
- Μόλις έχει τη λίστα με όλα τα modules, τα ταξινομεί και τα εμφανίζει στο frontend.
Αυτή είναι πάνω κάτω η βασική ιδέα λειτουργίας των layouts και των θέσεων στο OpenCart. Εάν δεν υπάρχουν θα βλέπετε τα ίδια extensions σε όλες τις θέσεις. Για παράδειγμα, το WordPress δεν έχει dynamic layouts που σημαίνει πως αν τοποθετήσετε ένα widget σε μια θέση, αυτό θα εμφανίζεται σε όλες τις σελίδες. Για να επιλυθεί αυτό, το WordPress επιτρέπει στους προγραμματιστές να δημιουργήσουν ξεχωριστά αρχεία για κάθε post ή σελίδα και απλώς να αφαιρέσουν ή να προσθέσουν τον κώδικα για τις σχετικές θέσεις.
Δείτε παρακάτω ένα σχετικό βίντεο με τον τρόπο λειτουργίας των OpenCart layouts.