dianagaby2002 scrie:Mersi. O sa incerc stocand datele de la pagini (continut, titlu, descriere, keywords...) intr-o tabela in mysql.
nu am citit toata discutia, dar ma gandeam sa iti prezint sistemul folosit in cms-ul meu poate te ajuta sa iti dezvolti sistemul tau.
la mine cms-ul e modular, construit din module si actiuni.
exista un loader care verifica ce modul se cere si il incarca, apoi acel modul verifica ce actiune se cere si o ruleaza.
in url linurile sunt initial de forma index.php?m=nume_modul&action=nume_actiune (dar se pot rescrie ulterior din htaccess in functie de cum vrea fiecare client)
modulul, e un script php care are in partea de control un switch cu actiunile existente si se va rula doar cazul cerut in acel moment (action=ceva...)
exemple de module:
users (actiuni: lista_useri_existenti, profil_user, modificare_detalii_profil, etc)
login (actiuni: login, logout, register, lost_pass, ban_user, confirm_register etc)
content (actiuni: show_page, list_pages, add_page, edit_page, del_page etc)
Sa detaliez modulul content cazul show_page:
- se preia din url id-ul sau numele paginii (la mine e numele paginii) + limba
- se preia din bd pagina cu acel nume in limba specificata (daca nu exista afisam eroare si link la cazul list_pages de exemplu)
- se seteaza din datele primite din bd titlul, descriere, keywords, fb_image si se genereaza continutul pentru pagina
ca sistem de template, folosesc ideea din tutorialul asta
http://www.tutorialeonline.net/ro/artic ... ine-simpluin controler de fapt datele primite din bd le pasez la un array de forma $tpl['title'], $tpl['description'], $tpl['content'] etc iar in template doar pun {TITLE} {CONTENT} si se inlocuiesc cu ce am in acel array.
PS (ideile spuse aici le poti vedea in linkul din tutorialul ala, tot site-ul e construit pe sistemul explicat aici)
In bd am tabelul organizat de forma
id | title | url | keyword | description | language | author | email | content | aproved | user_id | date_added | date_modified
unde language e char(2) exemplu ro/en/it etc si specifica in ce limba e pagina respectiva
url e titlul convertit url (url_encode sau raw_url_encode ca sa nu aiba spatii sau caractere speciale)
author e numele autorului articolului (poate fi diferit de editorul care publica articolul si care e setat in user_id)
email - emailul autorului (in general nu se face public)
content - este mediumtext (text permite doar 65535 caractere si am patit sa am pagini cu texte mult mai mari) charset utf8_general_ci (charsetul asta permite diacritice din mai multe limbi, atat romana cat si alte limbi)
aproved - tinyint(1) - 0 neaprobat, 1 articol aprobat (vizibil pe site de la data specificata in date_added - care poate fi o data in viitor, la tutoriale asa faceam setam sa apara 1 articol pe zi si le aprobam cu 1 saptamana inainte de exemplu)
cam asta ar fi in mare explicatiile pentru afisarea continutului, daca ti se pare interesanta abordarea mai gasesti pe aici discutii mai vechi legate de cms (cauti prin formul cms + autor birkoff)