![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Klasa Content: http://www.unit1.pl/pb-904
Front Kontroler: http://www.unit1.pl/pb-905 Rozszerzenie (dołączone przez Front Kontroler): http://www.unit1.pl/pb-906 W klasie Content zdefiniowałem 2 zmienne. Są to: * $content->dir - z szablonami źródłowymi (HTML + pseudokod szablonowy) * $content->cacheDir - z szablonami skompilowanymi do PHP Doskonale zdają egzamin, gdy całkowicie zmieniam środowisko (np. panel admina, instalator). Wtedy wszystkie szablony są ładowane z określonych w tych zmiennych katalogów (oprócz kilku ładowanych z VIEW_DIR). Do tej pory wszystko funkcjonowało poprawnie. Teraz pojawił się problem. Zacząłem tworzyć rozszerzenie do systemu CMS. Nie wypada, by szablony wtyczek były przechowywane w katalogu domyślnej skórki (bo skórek może być więcej - wtedy admin może nie wiedzieć, która jest tą domyślną). (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Lepiej, aby rozszerzenia miały własne katalogi z szablonami. Pojawia się problem. W pliku rozszerzenia zmieniam katalog, w którym znajdują się rozszerzenia. Niestety, wyświetla się błąd: Kod Warning: filemtime() [function.filemtime]: stat failed for ./style/chat/body.html in [...]lib\content.php on line 100 Teraz popatrzmy na Front Kontroler (na sam koniec). Tam sprawdzam, czy główny szablon (layout) jest skompilowany, wywołując metodę compile(), która wykorzystuje te 2 zmienne $content->dir i $content->cacheDir.Jak rozwiązać problem, aby móc trzymać szablony rozszerzeń w osobnych katalogach? Może w ogóle inaczej zorganizować cały proces dołączania szablonów? Jest jeszcze drugi, trochę mniej istotny problem. W domyślnym katalogu znajdują się szablony współdzielone (np. dla komentarzy). Gdyby tak rozszerzenia chciały je wykorzystywać? Chociaż mogą je też skopiować do własnego katalogu... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Hmmm wedlug mnie masz tam troche zbednych rzeczy np takie cos jak dodawanie styli css i plikow js i w sumie funkcja info() tez nie wiem po co jest.
Nie rozumiem zabardzo co ci nie dziala ja to robie tak mam takie foldery w glownym folderze cms(sam pisze nowego): -grafiki/ -system/ -theme/ Potem katalog system/ przechowywuje plik konfiguracyjny bazy danych,klase do systemu szablonow i ogolne funkcje cms'a, potem jest w niej podkatalog /modules/ gdzie sa glowne pliki z zawartoscia moduly i pliki z funkcjami kazdego moduly i tutaj mam jeszcze podkatalog gdzie sa pliki konfiguracyjne kazdego modulu. POtem jest magiczny katalog /theme/ ktory dochodzi do czegos takiego /theme/new/styl/ i teraz w podkatallogu styl/ sa inne katalogi ktore maja nazwe kazdego stylu czy theme czy jak to tam mozna nazwac jakie mozna miec na stronie a w kazdym z nich mam pliki: -styl.css -tpl1.tpl Ktory sa potem wypelniane poprzez system szablonow i wyswietlane i teraz moglbys zrobic tak jak ja w bazie przechowywujesz nazwe stylu i wtedy dajesz taka sama sciezke z takimi samymi plikami tylko zmienasz nazwe katalogu ze stylem ktory jest w bazie, no chyba ze cie zle zrozumialem. EDIT: Chodzi mi o cos takiego gdy robisz include() lub wypelniasz szablon
Ten post edytował marcio 19.10.2008, 11:20:11 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 15:24 |