Tabele
Uzytkownicy i
Administratorzy jest oddzielona dlatego że
Administratorzy jest to tylko jedna tabela z konfiguracją użytkowników tylko do samego systemu, a Uzytkownicy są dla konkretnej strony obsługiwane przez system. Skoro ma być tak, że dla bezpieczeństwa dla każdej witryny ma być tworzona odzielna baza to także dla każdej witryny będzie oddzielna tabela z użytkownikami tej witryny. Myślę, że chyba jednak tabele: uprawnienia użytkowników i uprawnienia administratorów usunę i wpisze to na sztywno w systemie.
Cytat
Druga sprawa załozyłes chyba jednopoziomowe menu co w przypadku CMS nie jest za dobrym rozwiązaniem.
Menu nie będzie jednopoziomowe. Tabela
Menu jest tylko deklaracją jakie ile i jakie Menu są na stronie. Samo drzewo menu będą tworzyły nazwy stron. Jak widać w tabeli
Strony jest wpis "poprzednia strona" gdzie będzie wpisane ID strony nadrzędnej. Na tej podstawie ma być tworzone drzewo menu.
Cytat
Ogolnie struktury Twojego CMS troche nie rozumiem. Chyba można to zrobić prościej. Po co Ci np. te pola tresci ?
Zazwyczaj w systemach polami treści są: Tytuł, Tresc krótka i Tresc Dluga, co wrzuca się w template strony. Ograniczenie tego powoduje, że osoba uzupełniająca musi trochę znać html żeby zrobić jakiś podział treści, tabele, odstępy. Jeżeli sie zeschematyzuje, to kazdy będzie mógł tylko wpisywać prosty tekst/dodawac pliki to nie będzie potrzebna znajomość htmla i styli. Dzięki temu także użytkownik nie będzie miał okazji zepsuć wyglądu strony. cały wygląd będzie narzucony w templatach. Oczywiście także będzie możliwość wpisywania kodu html w jakieś pole treści. Podsumowująć: ustawiamy jaką treść ma mieć dana strona, tworzymy pola tej treści, ustawiamy wygląd danej strony w templacie i wpisujemy zmienne odpowiadające za treść, i treść uzupełnia się tylko czystym tekstem.
Cytat
Przecież możesz mieć jedną tablice w której trzymasz konkretny artykuł. Będzie miał relacje z id menu, flage języka i wszelkie inne atrybuty artykułu.
Przy tworzeniu strony najpierw ma się Dodawać języki w jakich strona ma funkcjonować, potem do każdego języka będzie się przyporządkowywać menu. Potem do danego menu będzie przyporządkowana pierwsza strona. Jeżeli bym w tabeli
Strony umieścił relacje do Języka i menu to nie wiadomoby było dla jakiego języka należy to Menu, czyż nie?
Cytat
nie widzę kategorii/podkategorii - struktury drzewa - do każdej kategorii powinna być możliwość przypisania innego templatu oraz zainstalowania dowolnych pluginów
Template będzie się przyporządkowywać do konkretnej strony. Domyślnie strona ma mieć template taki sam jak template strony nadrzędnej z możliwością zmiany oczywiście.
Cytat
jak zostanie rozwiązana kwestia styli? Piszę np. artykuł i na 6-tej stronie mam tabelkę, do której chcę dodać style - jak to będzie wyglądało?
Style będą teoretycznie tylko potrzebne przy edytowaniu templatów, także tutaj może byc gdzieś jakiś input wyświetlający treść pliku ze stylami. Założenie jest takie że uzupełnianie strony już samą treścią ma się odbywać bez znajomości htmla/ styli ale jeżeli ktoś będzie chciał to można tego użyć i myśle, że będize także jakiś WYSWIG. Moznaby dodać zmienną w tabelli "Pola_tresci" czy dane pole ma mieć WYSWIG czy nie...
Cytat
- treść może pochodzić z różnych źródeł: jako plugin (fragment kodu html umieszczony na stronie), z systemu newsów, systemu artykułów etc. Każdy taki plugin/moduł powinien mieć własne templaty i konfigurację, użytkownik powinien mieć też możliwość dołączania własnych modułów
Tak właśnie, ale z racji że pluginy będą zróżnicowane, kady z nich będzie musiał mieć inną bazę danych i templaty, dlatego nie zawierałem za bardzo tego w tych schemacie.
Cytat
Ogólnie to napisanie elastycznego i dobrego CMS'a musi potrwać - radzę zacząć od struktury drzewa kategorii, dodawania, usuwanie, edycja kategorii, potem przypisywanie kategoriom pluginów, templatów i styli, na końcu pluginy - jak zrobisz drzewo kategorii to potem jakoś to pójdzie dalej.
Dzięki za rade, tak też zrobię.
Będę potrzebował pomocy bo w phpie to cienkawy jestem...