Od dluzszego czasu zastanawialem sie nad pewna kwestia. Mam zamiar dac uzytkownikom mojego serwisu mozliwosc ustalania, po zarejestrowaniu sie w serwisie, kolejnosci wyswietlania poszczegolnych elementow strony. Zaczelo sie od tworzenia szablonu plikow dla kazdego uzytkownika i zapisywania go na serwerze, co z poczatku wydawalo mi sie dobrym rozwiazaniem, ale jesli zarejestrowaloby sie kilkaset osob, czy nawet kilka tysiecy, to chyba nie byloby zbyt optymalne rozwiazanie..
Teraz wpadlem na pomysl, aby te dane przechowywac w bazie danych. A konkretniej, w jednej tabeli sa dane modulow, razem z szablonem tego modulu (zaleznie od "skorki" strony), a w drugiej ustawienia uzytkownika:
- mdl_templates (tabela z szablonami modulow)
- user_modules (tabela z ustawieniami uzytkownika)
[sql:1:8b9ea98938]
CREATE TABLE mdl_templates (
skinID tinyint(3) unsigned NOT NULL default '0',
moduleID tinyint(2) unsigned NOT NULL default '0',
moduleName varchar(32) NOT NULL default '',
moduleTpl mediumtext NOT NULL
) TYPE=MyISAM;
CREATE TABLE user_modules (
userID tinyint(3) unsigned NOT NULL default '0',
moduleID tinyint(3) unsigned NOT NULL default '0',
moduleColumn char(1) NOT NULL default '',
moduleOrder tinyint(2) unsigned NOT NULL default '0'
) TYPE=MyISAM;
[/sql:1:8b9ea98938]
I teraz, przy wejsciu na strone, sprawdzamy czy uzytkownik ma zapisane cookie (czyli jest zalogowany). Jesli nie, to formularz do logowania, jesli sie uda, to moze sobie wybrac kolejnosc modulow, przenosic je z jednej kolumny do drugiej itd (to bedzie zadanie dla skryptu JavaScript). Jesli autoryzacja wypadnie pomyslnie, uzytkownik zostanie przeniesiony na strone glowna zbudowana dynamicznie w oparciu o jego ustawienia, szablon dynamicznie zostanie doklejony do szablonu podstawowego.
W tym miejscu jest dla mnie niewiadoma. Czy istnieje mozliwosc "parsowania" szablonu-hybrydy (tzn. czesc szablonu w pliku na serwerze, reszta doklejana z bazy danych i dopiero przeslany do parsera)? Z tego co slyszalem, Smarty daje takie mozliwosci. Bo jezeli szablon z bazy zostanie do szablonu podstawowego "doklejony" juz po dzialaniu np. Smarty, to psu na bude taka metoda, ale jesli najpierw zostanie ten szablon uzupelniony i dopiero przeslany do Smarty, to o to mi wlasnie chodzi

Z gory zaznaczam, ze w takich zagadnieniach stawiam dopiero pierwsze kroki, dlatego prosze Was o komentarze co do mojego rozwiazania, wskazowki czy jakiekolwiek komentarze, ktore moga mi pomoc
