![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie.. Coraz bardziej zagłębiam się w php i ostatnio czytałem dużo o szablonach, itp.
Postanowiłem, że zacznę tworzyć własnego cms (sztuka dla sztuki, żeby się czegoś nauczyć, nabrać doświadczenia). Odpowiednio przygotuję układ katalogów i plików. Chodzi mi teraz po głowie rozwiązanie pewnego problemu. Załóżmy, że przygotuję wstępnie 3 layouty i chciałbym, żeby użytkownik mógł dodwać swoje albo zmieniać na 1 z 3 dostępnych standardowych. Zakładam, że gdzieś w pliku konfiguracyjnym jest napisane, że domyślnie łądowany jest layout numer 1. I co dalej? Piszemy jakąś funkcję, która załąduje ten lay? Ale jak? W jakimś katalogu (np. public_html/layout) znajdują się pliki graficzne, któe wchodzą w skład laya? Jak to ugryźć tak od strony teoretycznej - żebym załapał zasadę.. Ps. Tak naprawdę to po co się stosuje szablony? Po co ludzie piszą własne parsery? Przecież traci się na wydajności (odwołuje się do artykułu na http://webcity.pl - "Budujemy engine") -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
szablony stosuje sie zeby oddzielic warstwe prezentacyjna od programistycznej... w życiu wyglada to tak,że graficy i programisci to dwie rozne sfery w przykladowej firmie IT.. szblony ulatwiaja grafikom tworzenie layoutu (nie musza sie uczyc php, conajwyzej kilku szablonowych znacznikow i nieskomplikowanych funkcji) i przyspiesza tworzenie strony
edit: co do pyt. o stukture plikow... ja mam katalog templates i tam zakladam kolejne katalogi z nazwami themow - zawieraja one pliki szablu jak i grafiki. Ten post edytował LBO 13.04.2006, 00:30:03 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Ja tak też robie, mam katalog theme/default/ theme/a/ i default i a to themy sa
![]() ![]() -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bim2 @ 2006-04-13 09:44:46) Ja tak też robie, mam katalog theme/default/ theme/a/ i default i a to themy sa ![]() ![]() Po pierwsze, uzywasz jakieś systemu szablonów: Smarty albo Flexy? -------------------- Mateusz 'matipl' Kamiński
WWW - http://matipl.pl |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(LBO @ 2006-04-12 23:28:15) szablony stosuje sie zeby oddzielic warstwe prezentacyjna od programistycznej... w życiu wyglada to tak,że graficy i programisci to dwie rozne sfery w przykladowej firmie IT.. szblony ulatwiaja grafikom tworzenie layoutu (nie musza sie uczyc php, conajwyzej kilku szablonowych znacznikow i nieskomplikowanych funkcji) i przyspiesza tworzenie strony edit: co do pyt. o stukture plikow... ja mam katalog templates i tam zakladam kolejne katalogi z nazwami themow - zawieraja one pliki szablu jak i grafiki. Jak taki szablon jest zbudowany? Gdzie mogę znaleźć o tym jakieś szczegółowe informacje? Korzystacie z gotowych szablonów czy budujecie kod sami? -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Ja na początku przygód z szablonami używałem Smarty, ale wydał mi sie zbyt duży, nie podoba mi sie też strasznie że w szablonie można tworzyć zmienne i dość duże operacje.
Od stycznia jadę na Flexy, jest kilka nie doróbek, ale za to całą logikę biznesową mam naprawdę w php, a nie w szablonach. -------------------- Mateusz 'matipl' Kamiński
WWW - http://matipl.pl |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Nie, napisalem wlasny Moze nie odbajerowny ale wlasny ^^, na moje potrzeby starcza
![]() ![]() EDIT: tyczy sie to do pytania o jaki szablon uzywam ^^^, nie odswiezylem strony ![]() Ten post edytował bim2 13.04.2006, 10:31:14 -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Uwazam ze pisanie wlasnych szablonow - jesli nie gonia nas milisekundy w czasie generowania strony i chcemy miec absolutnie najwieksza wydajnosc - jest odkrywaniem po raz milionowy koła na nowo....
a co do duzej ilosci operacji w smarty - kiedys byl artykul na ten temat - jest cos takiego jak logika biznesowa i logka prezentacji - zadaniem smarty nie jest calkowite oddzielenie statycznego layoutu od wszelkich dynamicznych tresci - zadaniem jest oddzielenie logiki biznesowej od logiki prezentacji - logika prezentacji moze byc (i czesto bywa) bardziej skomplikowana niz logika biznesowa.... -------------------- -=Yacho=-
nospor -> trzymaj sie i nie dajcie sie ! |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Yacho @ 2006-04-13 11:49:39) Uwazam ze pisanie wlasnych szablonow - jesli nie gonia nas milisekundy w czasie generowania strony i chcemy miec absolutnie najwieksza wydajnosc - jest odkrywaniem po raz milionowy koła na nowo.... Napisałem, że chcę coś takiego stworzyć bo chcę głębiej poznać php, chcę to stworzyć na własny użytek i przy okazji się czegoś nauczyć. Nie chcę korzystać z gotowców. Jak taki szablon jest zbudowany? Gdzie mogę znaleźć o tym jakieś szczegółowe informacje? -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.01.2006 Skąd: Nowa Sól Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zakładam, że gdzieś w pliku konfiguracyjnym jest napisane, że domyślnie łądowany jest layout numer 1. I co dalej? Piszemy jakąś funkcję, która załąduje ten lay? Ale jak? W jakimś katalogu (np. public_html/layout) znajdują się pliki graficzne, któe wchodzą w skład laya? No tak, załóżmy że masz katalog templates/ i tam masz kolejne katalogi w których są szablony. Teraz dajmy na to że w pliku konfiguracyjnym masz zapisane nazwy szablonów i ścieżki do nich. I teraz każdy użytkownik serwisu ma zapisane w bazie danych lay którego używa. Wystarczy że napiszesz funkcje sprawdzającą jaki to lay i ppodmieniasz ścieżkę domyślnego laya na tek który użuwa dany user. Przykładowo dla pasera szablonów $lay = ... ;pobierasz z bazy nazwe szablonu $tpl->setDir( 'templates/$lay' ); ... -------------------- Notepad++ / PHP 5 / Zend
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(di_kamilo @ 2006-04-13 17:21:00) Cytat Zakładam, że gdzieś w pliku konfiguracyjnym jest napisane, że domyślnie łądowany jest layout numer 1. I co dalej? Piszemy jakąś funkcję, która załąduje ten lay? Ale jak? W jakimś katalogu (np. public_html/layout) znajdują się pliki graficzne, któe wchodzą w skład laya? No tak, załóżmy że masz katalog templates/ i tam masz kolejne katalogi w których są szablony. Teraz dajmy na to że w pliku konfiguracyjnym masz zapisane nazwy szablonów i ścieżki do nich. I teraz każdy użytkownik serwisu ma zapisane w bazie danych lay którego używa. Wystarczy że napiszesz funkcje sprawdzającą jaki to lay i ppodmieniasz ścieżkę domyślnego laya na tek który użuwa dany user. Przykładowo dla pasera szablonów $lay = ... ;pobierasz z bazy nazwe szablonu $tpl->setDir( 'templates/$lay' ); ... Dziękuje za odpowiedź. O to mi chodziło. Ale nasuwa się inne pytanie... Przy każdym przeładowaniu strony te dane będą pobierane (odczyt z bazy) a to obniża wydajność (klikasz coś, wybierasz coś w menu to następuje przeładowanie i znowu sprawdzane jest który szablon ma być załadowany). Można ustawić w sesji że szablon jest wybrany ale czy ustawianie dużej ilości zmiennych sesyjnych nie obniża wydajności? Po co ludzie piszą swoje parsery (gdzieś ostatnio takie 2 artykuły mi się przewinęły i zacząłem się zastanawiać).. -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat(J4r0d @ 2006-04-13 22:24:09) Dziękuje za odpowiedź. O to mi chodziło. Ale nasuwa się inne pytanie... Przy każdym przeładowaniu strony te dane będą pobierane (odczyt z bazy) a to obniża wydajność (klikasz coś, wybierasz coś w menu to następuje przeładowanie i znowu sprawdzane jest który szablon ma być załadowany). Można ustawić w sesji że szablon jest wybrany ale czy ustawianie dużej ilości zmiennych sesyjnych nie obniża wydajności? Po co ludzie piszą swoje parsery (gdzieś ostatnio takie 2 artykuły mi się przewinęły i zacząłem się zastanawiać).. Smarty oraz Flexy potrafią cache-ować raz przerobione templaty. -------------------- Mateusz 'matipl' Kamiński
WWW - http://matipl.pl |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(matipl @ 2006-04-14 09:01:47) Cytat(J4r0d @ 2006-04-13 22:24:09) Dziękuje za odpowiedź. O to mi chodziło. Ale nasuwa się inne pytanie... Przy każdym przeładowaniu strony te dane będą pobierane (odczyt z bazy) a to obniża wydajność (klikasz coś, wybierasz coś w menu to następuje przeładowanie i znowu sprawdzane jest który szablon ma być załadowany). Można ustawić w sesji że szablon jest wybrany ale czy ustawianie dużej ilości zmiennych sesyjnych nie obniża wydajności? Po co ludzie piszą swoje parsery (gdzieś ostatnio takie 2 artykuły mi się przewinęły i zacząłem się zastanawiać).. Smarty oraz Flexy potrafią cache-ować raz przerobione templaty. Nie interesują mnie gotowe systemy. Chcę dla siebie napisać własny i dlatego się pytam jak to działa. Jak rozwiązań problem ponownego wczytywania szablonu? Cachewanie wystarczy? Są inne sposoby? -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 8.01.2006 Skąd: Nowa Sól Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przy każdym przeładowaniu strony te dane będą pobierane (odczyt z bazy) a to obniża wydajność Zawsze można zpisac w ciasteczku albo w jakiejś zmiennej która będzie przekazywana przez url itp. -------------------- Notepad++ / PHP 5 / Zend
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 190 Pomógł: 27 Dołączył: 23.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(di_kamilo @ 2006-04-14 10:30:00) Cytat Przy każdym przeładowaniu strony te dane będą pobierane (odczyt z bazy) a to obniża wydajność Zawsze można zpisac w ciasteczku albo w jakiejś zmiennej która będzie przekazywana przez url itp. Zgadza się ale nie wiem na ile to będzie efektywne (chodzi mi o podejści profesjonalne). Zważ, że kilka zmiennych będzie przez url przekazywanych. Zastanawiam się czy nie ma innygo sposobu - pytam się bo nie wiem jak to się jest zaimplementowane w np w Smarty -------------------- ”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335) |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 6.05.2003 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat(J4r0d @ 2006-04-14 12:42:55) Zgadza się ale nie wiem na ile to będzie efektywne (chodzi mi o podejści profesjonalne). Zważ, że kilka zmiennych będzie przez url przekazywanych. Zastanawiam się czy nie ma innygo sposobu - pytam się bo nie wiem jak to się jest zaimplementowane w np w Smarty dałem Tobie przykład gdzie znajdziesz właśnie zaimplemetowane cachowanie. Trudno jest ściągnąć Smarty lub Flexy i spojrzeć jak to robią? PS: Brany jest template zamieniane są tagi {} na php-owe i takie cos jest w cache -------------------- Mateusz 'matipl' Kamiński
WWW - http://matipl.pl |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 19:04 |