Strona 1 z 1

Szablony [dlugie]...

PostNapisane: 8 grudnia 2005, o 23:10
przez Kapitan
Sprawa wyglada tak. Dotychczas, jak chyba kazdy poczatkujacy bawlem sie php i html itp na zasadzie - wszystko ze wszystkim. Jestem w sumie zadowolony. Znajomy zwrocil mi kiedys uwage, ze "tak jest nieladnie i niepraktycznie" Owszem rzucilem okiem na szablony, ale nie wiem, albo nie potrafie sobie tego wyobrazic albo nie rozumiem do konca zasady dzialania.
Wczesniej obchodzilem sie bez nich, budowalem wszystko na zasadzie funkcji - zadnych klas itp. Nie wiem czy az tak sie rzyzwyczailem, jednak latwiej mi kontrolowac moje zakrecone skrypty majac wszystko w jednym pliku niz rozrzucone w kilku. W dodatku przyklady z template`am sa zdecydowanie zbyt proste... Jesli dobrze rozumiem, kod php winien byc calkowicie oddzielony od html a takowych mozliwosci po prostu w swoim przypadku nie widze :-) Mam jednak pytanie - w jaki sposob stworzyc szkielet strony wlasnie w formie szablonu? Powiedzmy, ze mam tabele. po lewej menu, reszta - glowna strona podmieniana instrukcja switch. W tej podmienienej jeszcze jedno menu, ktore tez podmieniaja zawartosc strony. Mialem to zrobione nieco topornie - duzo zamieszania. Dwie funkcje glowna, ktora generuje uklad strony po zaladowaniu i odpowada za podmiane podstron Z niej stworzylem jeszcze jedna funkcje, ktora utrzymuje uklad stroyny, w momencie gdy wybiore cos z menu na podstronie np. rejestracja klienta.
Troche to zagmatwane. Podam przyklad Wybieram linka z menu glownego np. klienci - laduje mi sie do glownej komorki tabeli podstrona zawierajaca dod. menu u gory, oraz powiedzmy formularz rejestracji klienta. Teraz dzieki dodatkoemu menu moge ladowac kolejne podstrony (podmieniac) i przechodzic do podstron zawierajacych np. zmiane danych klienta, usuwanie klienta itp. To taki przyklad. Jednak w momencie, gdy wysylalem dane z tego formularza php generowal nowa strone juz bez reszty. Uzywalem wiec w funkcji (na poczatku), ktora odpowiada za wyglad podstrony (tej, ktora pokazuje sie po wyslaniu danych klienta) kopii funkcji tworzacej caly uklad - czyli tabele glowna, stopke, naglowek menu glowne oraz podmenu na podstronie... Jak inaczej osiagnac podobna rzecz z uzyciem szablonu? Niezle zakrecilem.

Szablony [dlugie]...

PostNapisane: 9 grudnia 2005, o 00:28
przez januzi
popatrz na szablony jak na cos, co moze sluzyc jako podstawa dla kolejnych stron
czy przy tworzeniu zwyklego serwisu www robiles jedna strone tak, zeby bylo, a nastepnie tworzyles z niej kopie o odpowiednich nazwach ? (dzieki temu uzyskiwalo sie taki sam wyglad calego serwisu, ew. zmienialo sie drobiazgi)
na takiej samej zasadzie dzialaja szablony, masz jakis gotowy wzor strony z zaznaczonymi miejscami : tutaj bedzie menu, tutaj banner, tutaj tresc; wyswietlasz sobie ten szablon i widzisz jak to mniej wiecej bedzie wygladac, pusto, ale cos juz jest; nastepnie pare linijek wyzej, przed wyswietleniem, dopisujesz, zeby w miejsce "tutaj bedzie menu" wstawil tabelke z linkami, w pozostale miejsca tez kazesz cos wstawic; znowu wyswietlasz i ... strona jest wypelniona tak jak chciales;

mozna tez na to spojrzec troche inaczej, np. jak na papierowy model do sklejania; masz jakis glowny element, na nim zaznaczone sa miejsca do ktorych nalezy przykleic elementy o numerach ..., te elementy moga takze miec miejsca do ktorych przykleic nalezy kolejne kawalki ...; tak mniej wiecej dzialaja szablony, z tym, ze to Ty ustalasz jakie kawalki bedziesz chcial przykleic do wskazanych miejsc, i dzieki temu mozesz uzyskac zarowno B-52 jak Raidena czy F-16

mozna to przedstawic nastepujaco
dane -> szablon -> wyswietl
oczywiscie dane moga byc rozne, moga to byc takze male szablony okreslajace pojedynczy fragment strony; od skryptu bedzie zalezalo jakie dane zostana umieszczone w szablonie np:
if( $akcja == "userzy" ) wstaw_do_szablonu_userow() ;
elseif( $akcja == "formularz" ) wstaw_do_szablonu_formularz() ;
... i tak dalej

a zatem ogolniej rzecz biorac:
1. okreslasz jak bedzie wygladac podstawowa strona, na bazie ktorej beda tworzone bardziej rozbudowane strony
2. tworzysz szablony podstawowej strony oraz elementow ktore moga zostac na niej umieszczone
3. piszesz skrypt zarzadzajacy szablonami oraz danymi, skrypt ma rozrozniac polecenia osoby ogladajacej strone ($_GET, $_POST, ...) i na podstawie tego decydowac jakie podszablony ma wstawic w odpowiednie miejsca do szablonu glownego


apropo, moglbym napisac cos na temat szablonow; sa jacys chetni do poczytania ?

Re: Szablony [dlugie]...

PostNapisane: 10 grudnia 2005, o 11:04
przez arekp

PostNapisane: 10 grudnia 2005, o 22:56
przez kalu111
Ja bym tez poprosil + jak mozna troche O Obiektowym Programowaniu :D