Κατεβάστε την εφαρμογή τώρα και δοκιμάστε δωρεάν για 10 ημέρες
Νόμισμα Επιλέξτε γλώσσα Επιλέξτε περιοχή

Σειρά εκτέλεσης PHP: Header, κύρια σελίδα και Footer

Αυτό το tutorial προγραμματισμού σου δείχνει, με βάση ένα βασικό σχέδιο που περιλαμβάνει τα bx_Header.html, index.html και bx_Footer.html, πότε εκτελούνται τα διάφορα σενάρια PHP. Θα μάθεις πώς το περιεχόμενο του $LayoutHTML επεκτείνεται βήμα προς βήμα και πού μπορείς να κάνεις αλλαγές που αφορούν τη σελίδα ή παγκόσμιες αλλαγές.

Προϋποθέσεις και στόχος

Για αυτό το tutorial προγραμματιστών θα πρέπει να ξέρεις πώς το bluetronix CMS συνθέτει μια σελίδα από το layout της, το header, τη κύρια σελίδα και το footer. Θα σου δείξουμε, με ποια σειρά εκτελούνται τα PHP scripts αυτών των περιοχών και ποια τμήματα του $LayoutHTML έχουν ήδη φορτωθεί.

Στο παράδειγμα, το βασικό layout αποτελείται από τα αρχεία CMS bx_Header.html, index.html και bx_Footer.html. Η κύρια σελίδα index.html εκπροσωπεί τη φορτωμένη HTML σελίδα.

Το βασικό layout καθορίζει σε ποια σειρά θα ενσωματωθούν οι τρεις περιοχές. Στο παρουσιαζόμενο παράδειγμα θα βρεις τον ορισμό του layout στον πίνακα 00_layout.

Η σχετική αποσπασμένη εικόνα του layout φαίνεται έτσι:

__DB_Layout_/bx_Header.html__
<main>
   __DB_Layout_Main__
</main>
__DB_Layout_/bx_Footer.html__

Ο πρώτος placeholder ενσωματώνει το bx_Header.html. Μέσα στο main στοιχείο, το __DB_Layout_Main__ ενσωματώνει τη σελίδα που καλείται επί του παρόντος, στο παράδειγμά μας index.html. Στη συνέχεια ακολουθεί το bx_Footer.html.

Παρόλο που ο ορισμός του layout περιλαμβάνει και τις τρεις περιοχές, το αντίστοιχο HTML περιεχόμενο για τον κωδικό PHP των επιμέρους περιοχών φορτώνεται σταδιακά στο $LayoutHTML.

1. Ο κώδικας PHP του Header εκτελείται πρώτα.

Άνοιξε στον Διαχειριστή Αρχείων το αρχείο bx_Header.html. Μέσω του PHP Code μπορείς να επεξεργαστείς τον PHP κωδικό αυτής της περιοχής.

Το header είναι η πρώτη φορτωμένη περιοχή της σελίδας. Ενώ εκτελείται ο PHP κωδικός του, το $LayoutHTML περιέχει μόνο το HTML από το bx_Header.html.

PHP-Code: bx_Header.html

$LayoutHTML enthält:
   bx_Header.html

Μπορείς εδώ π.χ. να αντικαταστήσεις τους χώρους του header ή να προετοιμάσεις τη πλοήγηση. Στο σημείο αυτό δεν μπορείς ακόμα να έχεις πρόσβαση στο πραγματικό HTML περιεχόμενο του index.html ή του bx_Footer.html μέσω του $LayoutHTML.

2. Ο κώδικας PHP της κύριας σελίδας εκτελείται στη συνέχεια.

Μετά το header, το CMS φορτώνει τη ζητούμενη κύρια σελίδα, εδώ index.html, και εκτελεί τον PHP κωδικό της. Σε αυτή τη φάση, το $LayoutHTML περιέχει τον κωδικό HTML του header καθώς και τον κωδικό HTML της κύριας σελίδας.

PHP-Code: index.html

$LayoutHTML enthält:
   bx_Header.html
   index.html

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

Ένα παράδειγμα: Αν το header σου περιέχει τον χώρο __HeaderClass__, μπορείς να τον αντικαταστήσεις από την κύρια σελίδα:

$LayoutHTML = str_replace("__HeaderClass__","active",$LayoutHTML);

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

Ο footer δεν έχει φορτωθεί μέχρι αυτό το σημείο. Επομένως, το HTML περιεχόμενό του δεν μπορεί ακόμα να αλλάξει αξιόπιστα μέσω του $LayoutHTML.

Ο κωδικός PHP του υποσέλιδου εκτελείται τελευταίος

Τελευταία, το CMS φορτώνει το bx_Footer.html και εκτελεί τον PHP κωδικό του. Τώρα το $LayoutHTML περιέχει τα HTML περιεχόμενα και των τριών περιοχών.

PHP-Code: bx_Footer.html

$LayoutHTML enthält:
   bx_Header.html
   index.html
   bx_Footer.html

Ο PHP κωδικός του footer μπορεί επομένως να αντικαταστήσει χώρους μέσα στο header, την κύρια σελίδα ή τον footer, εφόσον είναι ακόμα διαθέσιμοι σε αυτό το σημείο.

Αν το ήδη φορτωμένο HTML περιέχει π.χ. τον χώρο __MyTitle__, μπορείς να τον αντικαταστήσεις εκεί:

$LayoutHTML = str_replace("__MyTitle__","My Custom Title",$LayoutHTML);

Έτσι ο footer είναι επίσης κατάλληλος για κοινές προσαρμογές που πρέπει να πραγματοποιηθούν μόνο μετά τη φόρτωση της συνολικής δομής της σελίδας.

Η σειρά εκτέλεσης με μια ματιά

Ο κρίσιμος κανόνας είναι: Η PHP μπορεί να αλλάξει μέσω του $LayoutHTML μόνο τις περιοχές HTML που έχουν ήδη φορτωθεί μέχρι εκείνη τη στιγμή.

1. bx_Header.html
   PHP sieht: Header
        ↓
2. index.html
   PHP sieht: Header + Hauptseite
        ↓
3. bx_Footer.html
   PHP sieht: Header + Hauptseite + Footer

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

Σημαντικό για τις δικές σου PHP λειτουργίες

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

if(!function_exists("MyTemplateFunction")) {
   function MyTemplateFunction() {
      return true;
   }
}

Περίληψη

Στο βασικό μας layout, πρώτα εκτελείται ο PHP κωδικός του bx_Header.html, έπειτα ο PHP κωδικός του index.html και τελευταίος ο PHP κωδικός του bx_Footer.html. Με κάθε βήμα αυξάνεται το HTML περιεχόμενο που μπορείς να προσπελάσεις μέσω του $LayoutHTML.

Τοποθέτησε τον PHP κώδικά σου εκεί που οι απαιτούμενες περιοχές HTML έχουν ήδη φορτωθεί: στο Header για προσαρμογές που σχετίζονται με το Header, στη κύρια σελίδα για δικά σου περιεχόμενα και τον προγενέστερα φορτωμένο Header ή στο Footer για αλλαγές στο ήδη συναρμολογημένο layout.

Συχνές Ερωτήσεις

τι ρωτούν συχνά οι πελάτες μας

Σε ποια σειρά εκτελούνται τα PHP scripts;

Αρχικά εκτελείται ο PHP κώδικας από το bx_Header.html, στη συνέχεια ο PHP κώδικας της κύριας σελίδας, π.χ. index.html, και τέλος ο PHP κώδικας από το bx_Footer.html.

Ποιες HTML περιοχές περιέχει το $LayoutHTML κατά τη διάρκεια του κώδικα PHP του Header;

Κατά την εκτέλεση του κώδικα PHP του Header, το $LayoutHTML περιέχει μόνο το ήδη φορτωμένο περιεχόμενο HTML από το bx_Header.html.

Μπορεί η κύρια σελίδα να αλλάξει τον HTML κώδικα του Header;

Ναι. Όταν εκτελείται ο PHP κώδικας της κύριας σελίδας, το Header και η κύρια σελίδα περιλαμβάνονται ήδη στο $LayoutHTML. Έτσι μπορείς π.χ. να αντικαταστήσεις μια θέση που έχεις δημιουργήσει προηγουμένως στο Header.

Γιατί ο κώδικας PHP του Header δεν μπορεί να αλλάξει ακόμη τον Footer;

Ο Footer φορτώνεται μόνο μετά την κύρια σελίδα. Το HTML περιεχόμενό του δεν είναι επομένως ακόμα διαθέσιμο στο $LayoutHTML κατά τη διάρκεια του κώδικα PHP του Header.

Ποιες περιοχές μπορεί να αλλάξει ο κώδικας PHP του Footer;

Κατά την εκτέλεση του Footer, το $LayoutHTML περιέχει ήδη το Header, την κύρια σελίδα και τον Footer. Οι εναπομείναντες θέσεις σε αυτές τις περιοχές μπορούν να αντικατασταθούν εκεί.

Πού μπορώ να δω τη δομή της βασικής διάταξης;

Ο ορισμός της διάταξης εμφανίζεται στο παράδειγμα στον πίνακα 00_layout. Συνδέει το bx_Header.html, την τρέχουσα κύρια σελίδα και το bx_Footer.html.

Πού μπορώ να επεξεργαστώ τον PHP κώδικα του bx_Header.html;

Επίλεξε το bx_Header.html στον Διαχειριστή Αρχείων και άνοιξε το PHP Code.

Τι πρέπει να προσέχω στα δικά μου PHP functions στο Header και την κύρια σελίδα;

Οι δικές σου λειτουργίες δεν επιτρέπεται να ορίζονται πολλές φορές με το ίδιο όνομα κατά τη διάρκεια μιας κλήσης της σελίδας. Χρησιμοποίησε μοναδικά ονόματα ή έλεγξε πριν τον ορισμό με function_exists(), αν η λειτουργία υπάρχει ήδη.

CMS