![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 9 Dołączył: 9.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Na początek.. opiszę swój problem, mianowicie - chciałbym zrobić coś takiego:
Plik - index.html Plik - body.html Plik - header.html Na początek do kodu php chciałbym załadować tylko index.html, a następnie użyć jakąś rekurencyjną funkcję, która podstawi pod wszystkie [] - zmienne, a {} - zawartości plików ".html". I chciałbym by ładowało się to NIEZALEŻNIE od struktury tych plików. Czyli gdy dopiszę do index'u np. "{plik2}" to zostanie on automatycznie załadowany. Póki co myślałem nad czymś takim:
Jakieś pomysły? Jakieś pomysły? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Za pomocą file_get_contents pobierasz zawartość pliku body.html a później znacznik {BODY} zamieniasz na to co wczytasz z pliku.
czyli np wyszukujesz wszystkie znaczniki ograniczone znakami {} do tego co jest w środku dopisujesz ".html" i masz nazwę pliku, plik wczytujesz i podmieniasz znacznik. -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 12 Dołączył: 7.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Najprostsze rozwiązanie to najpierw posklejanie wszystkiego do 1 zmiennej. Jak wspomniałeś możesz to zrobić za pomocą preg_replace_callback - wrzucasz wyrażenie regularne które zbiera Ci wszystkie znaczniki, a jako callback wrzucasz funkcję która zwraca zawartość pliku. Potem zmieniasz w tej zmiennej [var] na zmienne. Możesz użyć tej samej funkcji.
Można się pobawić z funkcją eval, ale to już trzeba zabezpieczyć na 4 spusty. Jeśli chodzi o sam pomysł, to nie jest on zbyt optymalny. Musiałbyś pomyśleć nad jakimś cachowaniem. Jeśli natomist nie radzisz sobie z rozwiązaniem bez cachowania to mogą zacząć się schody. Od biedy możesz skorzystać ze starego zniesławionego smarty lub innego systemu szablonów. Przedewszystkim zastanów się czy napewno system szablonów jest Ci niezbędny i czy nie niesie samych minusów w Twoim przypadki. Zadaj sobie pytanie jak często będzie zmieniany szablon, czy nie lepiej będzie zrobić to w PHP (pliki *.phtml) ? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 44 Dołączył: 18.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
test.tpl To taki przykład dla zamiany zmiennych w {} dla tagów [] piszesz drugą funkcję i za pomocą ob_start i include dołączasz pliki jako zmienna. Ten post edytował maniana 15.04.2012, 21:42:17 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
ja korzystam z PHPTal-a i jestem zadowolny
http://phptal.org/manual/en/split/metal-use-macro.html |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 06:48 |