04 Οκτωβρίου, 2014

Μετατροπή πολλαπλών HTML σε PHP Library

Για προγραμματιστές

Σε παλιά ή προβληματικά sites, στα οποία δεν έχουμε πρόσβαση στο περιβάλλον διαχείρισης μπορούμε να έχουμε τελικά πολλές (10+) HTML σελίδες με κοινη δομή και εμφάνιση και αλάζει μόνο ένα συγκεκριμένο τμήμα της σελίδας. Δηλαδή έχουμε παντού τα ίδια μενού, πλάγια μπάρα (sidebar), υποσέλιδο (footer) και αλλάζουν μόνο τα κείμενα και οι εικόνες του περιεχομένου, από σελίδα σε σελίδα. 

Αυτό είναι προβληματικό, επειδή στην περίπτωση που θελήσουμε να κάνουμε μια αλλαγή, π.χ. να προσθέσουμε ένα στοιχείο στο menu, θα πρέπει να κάνουμε την ίδια αλλαγή πολλές φορές : όσα είναι όλα τα αρχεία. Με τον παρακάτω τρόπο θα απομονώσουμε τα κομμάτια ενός website που είναι κοινά σε όλες τις σελίδες, σε μοναδικά αρχεία php, έτσι ώστε να τα έχουμε σε ένα μόνο σημείο και να κάνουμε την αλλαγή μόνο μία φορά όταν χρειαστεί.
  • Επιλέγουμε μια σελίδα του site που έχει την εμφάνιση που θέλουμε και την αποθηκεύουμε τοπικά, π.χ. την index.html
    • Υπάρχει η περίπτωση κάποιες 'εσωτερικές' σελίδες να είναι διαφορετικές από την Αρχική 
  • Αντιγράφουμε το index.html σε ένα νέο αρχείο με όνομα index.php και ανοίγουμε το αρχείο για επεξεργασία με το Notepad++ 
  • Βρίσκουμε κομμάτια κώδικα του αρχείου που επαναλλαμβάνονται σε όλες τις σελίδες π.χ. ένα sidebar div.
    • Πιθανόν να να χρειαστεί να ανοίξουμε πολλές σελίδες για να βεβαιωθούμε με ποιο τρόπο επαναλαμβάνονται κομμάτια HTML από σελίδα σε σελίδα.
  •  Το μετακινούμε σε ένα νέο αρχείο με όνομα sidebar.php μέσα στο φάκελο library και στην παλιά του θέση γράφουμε : <?php include 'library/sidebar.php'; ?>
  • Αφού ολοκληρώσουμε αυτή τη διαδικασία και θα έχουμε δημιουργήσει π.χ. τα top-menu.php, sidebar.php, footer.php θα έχουμε μια βιβλιοθήκη αρχείων (php library) 
    • Για διαφοροποίηση κάποιων σελίδων μπορεί να τα top-menu και footer να παραμένουν ίδια σε όλες τις σελίδες, και να έχουμε παραλλαγές όπως : sidebar1 / sidebar2, leftmenu / rightmenu κ.ο.κ. τα οποία να ποικίλουν από σελίδα σε σελίδα.
  • Τέλος πρέπει να αποθηκεύσουμε όλες τις html σελίδες τοπικά, να δημιουργήσουμε αντίγραφα σε php αρχεία και για κάθε αρχείο να επαναλάβουμε τη διαδικασία αντικατάστασης της html με php includes των υπαρχόντων αρχείων.
Από δω και πέρα μπορούμε να κάνουμε οπτικές ή προγραμματιστικές αλλαγές μέσα στη βιβλιοθήκη μας και αυτομάτως θα ενημερώνεται όλο το website.