Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> CMS/szablon - ładowanie laya
Jarod
post 12.04.2006, 23:03:05
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)
Go to the top of the page
+Quote Post
LBO
post 13.04.2006, 00:28:15
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
Go to the top of the page
+Quote Post
bim2
post 13.04.2006, 08:44:46
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 winksmiley.jpg, a pozniej to pasruje odpowiednio (mam na tpl) ale mozna zrobic tez na iclude jak w jp. Wglebij sie w to jak na tpl nie umiesz smile.gif


--------------------
Go to the top of the page
+Quote Post
matipl
post 13.04.2006, 09:40:58
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 winksmiley.jpg, a pozniej to pasruje odpowiednio (mam na tpl) ale mozna zrobic tez na iclude jak w jp. Wglebij sie w to jak na tpl nie umiesz smile.gif

Po pierwsze, uzywasz jakieś systemu szablonów: Smarty albo Flexy?


--------------------
Mateusz 'matipl' Kamiński
WWW - http://matipl.pl
Go to the top of the page
+Quote Post
Jarod
post 13.04.2006, 09:47:23
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)
Go to the top of the page
+Quote Post
matipl
post 13.04.2006, 10:15:02
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
Go to the top of the page
+Quote Post
bim2
post 13.04.2006, 10:30:18
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 tongue.gif (nie pokaze go) Rkingsmiley.png

EDIT: tyczy sie to do pytania o jaki szablon uzywam ^^^, nie odswiezylem strony winksmiley.jpg

Ten post edytował bim2 13.04.2006, 10:31:14


--------------------
Go to the top of the page
+Quote Post
Yacho
post 13.04.2006, 12:49:39
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 !
Go to the top of the page
+Quote Post
Jarod
post 13.04.2006, 13:12:19
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)
Go to the top of the page
+Quote Post
di_kamilo
post 13.04.2006, 18:21:00
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
Go to the top of the page
+Quote Post
Jarod
post 13.04.2006, 21:24:09
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)
Go to the top of the page
+Quote Post
matipl
post 14.04.2006, 10:01:47
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
Go to the top of the page
+Quote Post
Jarod
post 14.04.2006, 10:39:28
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)
Go to the top of the page
+Quote Post
di_kamilo
post 14.04.2006, 11:30:00
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
Go to the top of the page
+Quote Post
Jarod
post 14.04.2006, 11:42:55
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)
Go to the top of the page
+Quote Post
matipl
post 14.04.2006, 12:20:35
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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 19:04