Δημιουργία 'Settings' σε custom cms

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Lykos22
Δημοσιεύσεις: 89
Εγγραφή: 29 Μαρ 2011 16:28
Τοποθεσία: UK

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από Lykos22 » 28 Φεβ 2014 11:34

Έχω ένα custom cms στο οποίο σκοπεύω να δημιουργήσω και ένα τομέα που θα έχει όλα τα settings/ρυθμίσεις του cms, πχ. αριθμός posts (per page) που θα εμφανίζονται στο frontend, δυνατότητα να γίνονται comments στα posts, διαχείριση γλωσσών σε περίπτωση multilanguage, meta keywords κλπ κλπ.

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

Μελετώντας λίγο το Wordpress, παρατήρησα ότι όλα τα settings του τα αποθηκεύει σε έναν μόνο πίνακα τον wp_options πχ.

wp_options
-----------------
option_id
option_name
option_value
autoload

// Διάφορα settings που έχει:

11, posts_per_rss, 10, yes
12, rss_use_excerpt, 0, yes
22, date_format, F j, Y, yes
23, time_format, g:i a, yes

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

Αυτό που σκέφτομαι εγώ να κάνω είναι να δημιουργήσω τον έναν πίνακα settings όπου πεδία θα είναι τα posts_per_page, enable_comments, meta_keywords, κλπ κλπ και απλά θα παίρνουν τα αντίστοιχα values , δηλαδή :

πίνακας: settings με πεδία:
------------------
id,
posts_per_page, // πχ value = 10
enable_comments, // 1
meta_keywords, // meta, keywords, seo klp kpl
gallery_settings,
create_albums, // 1
klp klp
και ενδεχομένως τα settings να τα 'σπάσω' σε περισσότερους πίνακες πχ global_settings, posts_settings, gallery_settings όπου κάθε ένας θα έχει τις ρυθμίσεις της κατηγορίας του.

Ποιός τρόπος πιστεύετε ότι είναι ο καλύτερος και πιο εύχρηστος τρόπος να ακολουθήσω από αυτούς; εκτός εαν υπάρχει και κάποια άλλη καλύτερη λύση, θα την δω ευχαρίστως :D [/quote]

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από giannis17 » 28 Φεβ 2014 20:48

Οι ρυθμίσεις στις οποίες αναφέρεσαι δεν θα είναι καλύτερο να διαφοροποιούνται ανάλογα με το θέμα;

Εγώ προσωπικά στο δικό μου cms (το οποίο βέβαια είναι file based, δεν χρησιμοποιεί βάση δεδομένων) αποθηκεύω τις ρυθμίσεις εμφάνισης σε xml μέσα στο φάκελο του θέματος και τις γενικές ρυθμίσεις (γλώσσες/φάκελος θέματος/κατηγορίες κλπ) σε ένα άλλο xml στο root.

ΥΓ. Για όποιον αναρωτιέται γιατί να κάτσω να φτιάξω file based cms: Είναι πολυ πιο εύκολο να πεις σε έναν τελείως αρχάριο, φτιάξε τα κείμενα σου στο word και απλά βάλ' τα μέσα σε αυτό το φάκελο (συντόμευση FTP), στον υποφάκελο (κατηγορία) που ανήκει, παρά μπες εκεί βάλε κωδικούς, πας από μενού άρθρα, νέο άρθρο, επιλέγεις ένα κάρο buttons, γράφεις το κείμενο σου σε έναν editor που για να κάνεις το κάτι παραπάνω θες γνώσεις html... Οπότε απλά βαρέθηκα την όλη διαδικασία και έφτιαξα ένα cms για να το χρησιμοποιούν neaterdal.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από dva_dev » 28 Φεβ 2014 20:58

Και αν ο χρήστης έχει http αλλά όχι ftp πρόσβαση τι κάνεις; Ο χρήστης είναι neaterdal, οπότε κάποιος άλλος διαχειριστής τρώει το μανίκι της ασφάλειας και πιθανώς να έχει κόψει όσα destinations/ports δεν είναι απαραίτητα.
Το ότι ο server έχει ανοιχτά τα ports δεν σημαίνει ότι και ο client έχει πρόσβαση σε αυτά τα ports.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από giannis17 » 28 Φεβ 2014 21:12

dva_dev έγραψε:Και αν ο χρήστης έχει http αλλά όχι ftp πρόσβαση τι κάνεις; Ο χρήστης είναι neaterdal, οπότε κάποιος άλλος διαχειριστής τρώει το μανίκι της ασφάλειας και πιθανώς να έχει κόψει όσα destinations/ports δεν είναι απαραίτητα.
Το ότι ο server έχει ανοιχτά τα ports δεν σημαίνει ότι και ο client έχει πρόσβαση σε αυτά τα ports.
Για αυτό ακριβώς δεν πρόκειται να το δημοσιεύσω ποτέ (καλά και για άλλους λόγους αλλά ΟΚ) και είναι μόνο για δική μου χρήση και διευκόλυνση σε server που διαχειρίζομαι εγώ. Τώρα από πότε τα ftp accounts με πρόσβαση σε 1 φάκελο content το καθένα είναι security risk εσύ μόνο το ξέρεις.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από geomagas » 28 Φεβ 2014 21:37

@Lykos22:
Είναι από τις ελάχιστες περιπτώσεις που θεωρώ ότι το key/value pair μοντέλο έχει κάποια πρακτική χρησιμότητα, αφού κάθε setting μπορεί να είναι οτιδήποτε, από μία boolean τιμή έως ένα array με πολλά επίπεδα nested arrays.
Οπότε, σίγουρα προτιμώ τον πρώτο τρόπο, έναντι του δεύτερου που απ' όσο κατάλαβα είναι ένα single-row table.

[offtopic]
@giannis17:
Μπορεί να έχεις δίκιο, και ένα file-based cms να έχει σημαντικά πλεονεκτήματα, υπό συνθήκες. Αλλά αυτό που λες:
giannis17 έγραψε:Είναι πολυ πιο εύκολο να πεις σε έναν τελείως αρχάριο, φτιάξε τα κείμενα σου στο word και απλά βάλ' τα μέσα σε αυτό το φάκελο (συντόμευση FTP), στον υποφάκελο (κατηγορία) που ανήκει, παρά μπες εκεί βάλε κωδικούς, πας από μενού άρθρα, νέο άρθρο, επιλέγεις ένα κάρο buttons, γράφεις το κείμενο σου σε έναν editor που για να κάνεις το κάτι παραπάνω θες γνώσεις html...
...μου έφερε στο μυαλό κάτι σαν:
Είναι πολύ πιο εύκολο να πεις σε έναν τελείως αρχάριο, φτιάξε ένα μουσακά και απλά βάλτον να ψηθεί στους 180 βαθμούς για μία ώρα παρά σπάσε τέσσερα αυγά σ' ένα μπωλ, ρίξε λίγο αλάτι, βάλε και λίγο πιπέρι, τρίψε και τυρί, χτύπησέ τα, ζέστανε λίγο λάδι στο τηγάνι, ρίξε μέσα το μίγμα, κι όταν ψηθεί η ομελέτα βάλτη σ' ένα πιάτο... και να βλέπεις παντού λεκέδες από αυγά, και να λερώνεις μπωλ, και πιάτα... α πα πα πα πα!
[/offtopic]

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1215
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από giannis17 » 28 Φεβ 2014 21:46

@geomagas
Η μεγαλύτερη εφεύρεση μετά το τηλέφωνο είναι το φαγητό delivery!
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

geomagas
Δημοσιεύσεις: 667
Εγγραφή: 06 Απρ 2013 13:36
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Δημιουργία 'Settings' σε custom cms

Δημοσίευση από geomagas » 28 Φεβ 2014 21:48

...και ξεμπερδεύεις! :lol: :lol: :lol:

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης