Πολλοί κατασκευαστές ιστοσελίδων αποφεύγουν το MODX CMS επειδή πιστεύουν (ή έχουν ακούσει) ότι είναι κατά κύριο λόγο για προγραμματιστές που είναι ειδικευμένοι στην κωδικοποίηση PHP και JavaScript.

Ενώ το MODX διαθέτει ισχυρά εξαρτήματα για εξειδικευμένους κωδικοποιητές, υπάρχουν πολλά πλεονεκτήματα για τους λιγότερο τεχνολογικούς καταλαβαίνω σχεδιαστές. Το πιο σημαντικό από αυτά είναι η δημιουργική ελευθερία που παρέχει η MODX. Σας επιτρέπει να κάνετε εύκολα τον ιστότοπό σας να μοιάζει με τον τρόπο που θέλετε, χωρίς συμβιβασμούς.

Το MODX αναπτύχθηκε από προγραμματιστές ιστού που απογοητεύτηκαν από τους δημιουργικούς περιορισμούς άλλων πλατφορμών CMS. Μισούσαν να εργάζονται σε συστήματα που είχαν ενσωματωμένες αντιλήψεις για το πώς πρέπει να χτιστεί ένας ιστότοπος και πού να τοποθετηθούν πράγματα έτσι ώστε να λειτουργούν.

Ήθελαν επίσης να κάνουν καλύτερη δουλειά διαχωρισμού του περιεχομένου μιας ιστοσελίδας από τον κώδικα που παρουσίαζε αυτό το περιεχόμενο - μια πρακτική που κάνει πολύ πιο εύκολο τον επανασχεδιασμό και τη διατήρηση ιστοσελίδων.

Πρότυπα

Αυτό που μπορεί να ονομαστεί "πρώτη αρχή" του MODX είναι, όποτε είναι δυνατόν, να αφήνει ο σχεδιαστής της ιστοσελίδας να κάνει ό, τι θέλει και να το κάνει εύκολα. Στην καρδιά αυτής της δημιουργικής ελευθερίας είναι τα πρότυπα MODX και οι ετικέτες MODX.

Ένα πρότυπο MODX δεν είναι παρά μια σελίδα κώδικα HTML (και προαιρετικά ετικέτες MODX και JavaScript). Μπορείτε να επιλέξετε μια σελίδα σε μια τοποθεσία που δεν είναι CMS και να επικολλήσετε τον κώδικα HTML για τη συγκεκριμένη σελίδα σε ένα πρότυπο MODX, να προσαρμόσετε τις διευθύνσεις URL για όλα τα αρχεία CSS και στη συνέχεια να πείτε στο MODX να χρησιμοποιεί αυτό το πρότυπο όταν εμφανίζει ένα συγκεκριμένο έγγραφο στον ιστότοπο. Αυτό θα διαρκέσει λιγότερο από 5 λεπτά και όταν θα δείτε τη σελίδα MODX, θα φαινόταν ακριβώς το ίδιο όπως και στον αρχικό ιστότοπο. Ο μόνος περιορισμός είναι ότι δεν μπορείτε να έχετε κάποιο κώδικα PHP στη σελίδα (περισσότερο σε αυτό αργότερα).

Η τοποθέτηση του κώδικα για μια ολόκληρη σελίδα σε ένα πρότυπο θα αγνοούσε πολλά από τα ισχυρά χαρακτηριστικά του MODX, αλλά βοηθάει να αποδείξει πόση ελευθερία έχετε στη δημιουργία ιστοσελίδων MODX.

Ετικέτες

Η κύρια ισχύς του MODX προέρχεται από ετικέτες MODX. Ουσιαστικά, οι ετικέτες MODX αντιπροσωπεύουν πράγματα που απομακρύνεστε από το πρότυπο και βάζετε κάπου αλλού για ευκολία και πρόσθετη ευελιξία. Αυτό που παραμένει στο πρότυπο είναι συνήθως το κέλυφος HTML και οι ετικέτες MODX.

Η βασική λειτουργία του κινητήρα MODX είναι απίστευτα απλή. Όταν μια ιστοσελίδα ζητείται από ένα πρόγραμμα περιήγησης, το MODX ελέγχει για να δει ποιο πρότυπο σχετίζεται με τη συγκεκριμένη σελίδα. Παίρνει το πρότυπο, αντικαθιστά οποιεσδήποτε ετικέτες MODX στο πρότυπο και το αποστέλλει στο πρόγραμμα περιήγησης. Αυτό είναι.

Η δυνατότητα να έχετε έναν δυναμικό, δημιουργικό ιστότοπο στο MODX προέρχεται από αυτό που μπορούν να αντιπροσωπεύουν οι ετικέτες. Υπάρχουν διάφορα είδη ετικετών και κάθε ένα αντικαθίσταται από κάτι διαφορετικό. Όλες οι ετικέτες είναι προαιρετικές και κάθε ετικέτα μπορεί να πάει οπουδήποτε στο πρότυπο. Ας δούμε ένα απλό παράδειγμα που περιλαμβάνει τις ετικέτες "κομμάτια".

Σημείωση: Τα παραδείγματα εδώ είναι για την επανάσταση MODX. Το MODX Evolution χρησιμοποιεί ένα ελαφρώς διαφορετικό στυλ ετικετών, αλλά οι έννοιες είναι οι ίδιες.

Στο MODX, ένα "κομμάτι" είναι λίγο κομμάτι κώδικα HTML που θέλετε να χρησιμοποιήσετε σε περισσότερες από μία σελίδες. Μπορεί να είναι κεφαλίδα, υποσέλιδο, πλευρική γραμμή, μενού ή οτιδήποτε άλλο. Ας υποθέσουμε ότι είναι ένα υποσέλιδο που θέλετε να εμφανίζεται σε κάθε σελίδα (ή σε κάποιο υποσύνολο των σελίδων σας). Δημιουργείτε το κομμάτι στο MODX Manager, πληκτρολογήστε τον κώδικα HTML για το υποσέλιδο, δώστε του ένα όνομα (FooterChunk) και, στη συνέχεια, αποθηκεύστε το. Τώρα, στο πρότυπό σας, βάζετε ακριβώς την ακόλουθη ετικέτα όπου θέλετε να εμφανίζεται το υποσέλιδο:

[[$FooterChunk]]

Κάθε σελίδα που χρησιμοποιεί το πρότυπο αυτό θα εμφανίσει το τμήμα υποσέλιδου σε αυτήν την τοποθεσία. Αν αποφασίσετε να αλλάξετε το κείμενο ή το HTML του υποσέλιδου, απλά επεξεργάζεστε το FooterChunk και η νέα έκδοση θα εμφανίζεται σε όλες τις σελίδες σας. Εάν θέλετε το υποσέλιδο κάπου αλλού στη σελίδα, απλά μετακινήστε την ετικέτα στο πρότυπο.

Ένα άλλο είδος ετικέτας στο MODX είναι η ετικέτα "περιεχόμενο περιεχομένου" (συνήθως αναφέρεται ως σύντομη ετικέτα "περιεχομένου"). Στο MODX, κάθε ιστοσελίδα αντιστοιχεί σε ένα έγγραφο που είναι αποθηκευμένο στη βάση δεδομένων MODX. Όταν δημιουργείτε μια νέα σελίδα για μια τοποθεσία web MODX, παρουσιάζεται μια φόρμα που μπορείτε να συμπληρώσετε με πληροφορίες σχετικά με το έγγραφο.

Υπάρχουν πεδία εισαγωγής κειμένου για τίτλο, τίτλο μεγάλου μήκους, περιγραφή, σύνοψη, ψευδώνυμο (που θα χρησιμοποιηθεί στη διεύθυνση URL), περιεχόμενο (το κύριο περιεχόμενο της σελίδας) και τίτλος μενού (που χρησιμοποιείται αυτόματα στα μενού). Υπάρχουν πλαίσια ελέγχου που υποδεικνύουν εάν το έγγραφο έχει δημοσιευτεί και αν πρέπει να αποκρύπτεται από τα μενού.

Υπάρχουν επίσης πεδία ημερομηνίας που υποδεικνύουν τις μελλοντικές ημερομηνίες δημοσίευσης ή μη δημοσίευσης και την ημερομηνία δημοσίευσης του εγγράφου.

Υπάρχουν και άλλα πεδία, αλλά εδώ βλέπουμε και πάλι την ευελιξία του MODX - όλα τα πεδία εκτός από τον Τίτλο και το Alias ​​είναι προαιρετικά! Κάθε σελίδα πρέπει να έχει έναν τίτλο και κάτι να βάλει στη διεύθυνση URL της σελίδας, αλλά εξαρτάται αποκλειστικά από εσάς αν θα χρησιμοποιήσετε τα άλλα πεδία ή όχι. Αυτό που συμβαίνει στα άλλα πεδία εξαρτάται επίσης σε μεγάλο βαθμό από εσάς. Σχεδόν σίγουρα θέλετε να βάλετε το κύριο περιεχόμενο της σελίδας στο πεδίο περιεχομένου, αλλά δεν χρειάζεται να το κάνετε. Αν θέλετε να χρησιμοποιήσετε το πεδίο Long Title για να αποθηκεύσετε το αστρολογικό σύμβολο του χρήστη που εμφανίζεται στη σελίδα, προχωρήστε δεξιά.

Για να επιστρέψετε στις ετικέτες "περιεχομένου", αυτές αντιπροσωπεύουν τα πεδία της φόρμας. Όταν το MODX βλέπει μια ετικέτα περιεχομένου, την αντικαθιστά με την τιμή του πεδίου ονομάτων που ονομάζεται. Στο σημείο όπου θέλετε να εμφανίζεται το κύριο περιεχόμενο της σελίδας, για παράδειγμα, βάζετε αυτήν την ετικέτα στο πρότυπο:

[[*content]]

Όπου θέλετε να εμφανίζεται ο μακρύς τίτλος της σελίδας (αν θέλετε καθόλου), βάζετε αυτήν την ετικέτα:

[[*longtitle]]

Για τον κύριο τίτλο, θα χρησιμοποιούσατε αυτήν την ετικέτα:

[[*pagetitle]]

Αν αποφασίσετε να θέλετε να εμφανίζεται ο τίτλος ή ο μακροχρόνιος τίτλος κάπου αλλού, μετακινήστε τις ετικέτες στο πρότυπό σας. Αν δεν θέλετε να εμφανίσετε τον μακροπρόθεσμο τίτλο, καταργείτε την ετικέτα από το πρότυπο. Εάν θέλετε οτιδήποτε υπάρχει στον Long Title να εμφανιστεί στο υποσέλιδο σελίδας, μπορείτε ακόμη και να μετακινήσετε την ετικέτα του στο FooterChunk που αναφέραμε προηγουμένως. Για να χρησιμοποιήσετε ένα απίθανο παράδειγμα, μπορείτε να βάλετε ακόμη και τη διεύθυνση URL της διαδρομής στο αρχείο CSS που θέλετε να χρησιμοποιήσετε για τη σελίδα στο πεδίο Long Title και να βάλετε αυτήν την ετικέτα στην κεφαλή του προτύπου σας:

Το MODX είναι πολύ απλό στο μυαλό όταν πρόκειται για ετικέτες. Όταν βλέπει μια ετικέτα MODX, την αντικαθιστά με αυτό που αντιπροσωπεύει. Δεν έχει σημασία τι είναι ή γιατί το βάζεις εκεί. Υποθέτει ότι ξέρετε τι θέλετε και ότι ενεργεί ανάλογα. Δεν υπάρχει καμία προσπάθεια να καταλάβεις τι θέλει το MODX ή γιατί δεν κάνει τι θέλεις επειδή κάνει ακριβώς αυτό που του το πεις. Πιστέψτε με, είναι μια ευχάριστη αλλαγή από το να ασχοληθείς με ένα CMS που πιστεύει ότι ξέρει περισσότερα για το τι θέλεις από ό, τι το κάνεις ή έχει προκαταλήψεις σχετικά με τον τρόπο εμφάνισης των πραγμάτων ή πού πρέπει να βρίσκονται.

Αποσπάσματα

Νωρίτερα στο άρθρο, ανέφερα κώδικα PHP. Στο MODX, ο κώδικας PHP πηγαίνει σε ένα απόσπασμα, το οποίο είναι ακριβώς οποιοδήποτε κομμάτι κώδικα PHP που θέλετε να χρησιμοποιήσετε στον ιστότοπο. Όταν το MODX βλέπει μια ετικέτα αποσπάσματος, αντικαθιστά την με ό, τι επιστρέφεται από το απόσπασμα. Η τοποθέτηση κώδικα PHP σε αποσπάσματα καθιστά τον ιστότοπο πολύ πιο ασφαλή και πιο εύκολο να διατηρηθεί, επειδή ο κώδικας είναι διαχωρισμένος από το περιεχόμενο. Αν κάποιος χάκερ κατορθώσει να βάλει μια σελίδα στον ιστότοπό σας που περιέχει κακόβουλο κώδικα PHP, το MODX θα αγνοήσει τον κώδικα επειδή δεν είναι σε ένα απόσπασμα.

Εάν δεν είστε κωδικοποιητής PHP, θα εξακολουθείτε να χρησιμοποιείτε ετικέτες αποσπάσματος επειδή υπάρχουν εξαρτήματα MODX add-on (συνήθως αποκαλούμενα "extras" στο MODX) που θα κάνουν πολλά από την βαριά ανύψωση στον ιστότοπό σας.

Το απόσπασμα Wayfinder, για παράδειγμα, θα παράγει ένα μενού από τα έγγραφα στον ιστότοπό σας. Αν δημιουργήσετε μια νέα σελίδα, θα εμφανιστεί αυτόματα στο μενού. Στην απλούστερη του μορφή, βάζετε ακριβώς μια ετικέτα όπως αυτή όπου θέλετε να εμφανίζεται το μενού:

[[Wayfinder]]

Το MODX θα αντικαταστήσει αυτήν την ετικέτα με ένα μενού όλων των σελίδων του ιστότοπού σας. Από προεπιλογή, ο Wayfinder εμφανίζει τις επιλογές του μενού ως συνδέσμους σε μια μη ταξινομημένη λίστα, αλλά μπορείτε να το ρυθμίσετε για να δημιουργήσετε οποιοδήποτε είδος μενού θέλετε. Έχω δει drop-down μενού flyout, οριζόντια μενού, κατακόρυφα μενού, ψάρια, τα αναδυόμενα μενού και ακόμη και τα κυκλικά μενού, τα οποία παράγονται με Wayfinder. Στην πραγματικότητα, δεν έχω δει ακόμη ένα μενού που δεν μπορεί να παραχθεί με τον Wayfinder.

Μπορείτε επίσης να χρησιμοποιήσετε τον Wayfinder για να εμφανίσετε μενού από ένα μόνο μέρος του ιστότοπού σας και μπορείτε να έχετε περισσότερα από ένα μενού Wayfinder στην ίδια σελίδα. Θυμηθείτε τα πλαίσια ελέγχου "Απόκρυψη μενού" και "Δημοσίευση" που αναφέραμε νωρίτερα; Ο Wayfinder δεν θα εμφανίσει σελίδες που δεν έχουν δημοσιευθεί ή δεν είναι κρυμμένες, εκτός αν τους το πείτε.

Ένα άλλο συχνά χρησιμοποιούμενο απόσπασμα είναι το getResources. Το απόσπασμα getResources θα παρουσιάσει επιλογές στον ιστότοπό σας, διαμορφωμένο ωστόσο όπως σας αρέσει (με χρήση ετικετών MODX, φυσικά), ταξινομημένο, επιλεγμένο και εμφανίζεται, ωστόσο, θέλετε. Μια κοινή χρήση του getResources θα ήταν να εμφανιστεί ο τίτλος και η περίληψη των πέντε ή δέκα πιο πρόσφατα δημιουργηθέντων εγγράφων στον ιστότοπο, ο καθένας με σύνδεση με το πλήρες έγγραφο.

Τόσο ο Wayfinder όσο και οι getResources χρησιμοποιούν κομμάτια για τη μορφοποίησή τους (αυτό το κομμάτι ονομάζεται τεμάχιο TPL στο MODX) με κώδικα HTML και ετικέτες MODX για τα διάφορα στοιχεία που πρέπει να εμφανίζονται. Αν θέλετε να αλλάξετε τη μορφοποίηση ή το περιεχόμενο της παραγωγής τους, μπορείτε απλά να επεξεργαστείτε τα τεμάχια Tpl (ή να δημιουργήσετε το δικό σας).

Blogging με MODX

Κάποτε, ήταν κάπως δύσκολο να δημιουργηθεί ένα blog στο MODX (ένα σαφές μειονέκτημα για πολλούς ανθρώπους). Τώρα, ωστόσο, τα άρθρα Extra είναι ένα πλήρες χαρακτηριστικό γνώρισμα blog για MODX που είναι εύκολο στη χρήση και τη διαμόρφωση. Τα άρθρα έχουν σχόλια, ετικέτες, μετριοπάθεια, συζητήσεις με νήματα και οτιδήποτε άλλο μπορεί να θέλετε για το ιστολόγιό σας, καθιστώντας το MODX ελκυστική εναλλακτική λύση για το WordPress.

Συμπερασματικά

Αυτό το άρθρο έχει μόλις γδαρθεί η επιφάνεια του MODX. Ας ελπίσουμε ότι έχω σκεφτεί την όρεξή σας για το MODX και σας έδειξα λίγο για το πόση ελευθερία σας δίνει στη δημιουργία της ιστοσελίδας που έχετε στο κεφάλι σας. Η μετακίνηση μιας μη MODX τοποθεσίας στο MODX είναι εκπληκτικά εύκολη. Για μια σύντομη περιγραφή της διαδικασίας, δείτε αυτή η σελίδα .

Αν είστε σχεδιαστής ιστοσελίδων και θέλετε ένα CMS που σας επιτρέπει τη δημιουργική ελευθερία να κάνει τον ιστότοπό σας να μοιάζει με τον τρόπο που θέλετε, πρέπει οπωσδήποτε να δοκιμάσετε το MODX.