Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System szablonów wg wymagań, Pisać własny czy przerobić inny?
WebCM
post
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


Potrzebuję bardzo szybkiego i wydajnego systemu szablonów. Zastanawiam się, czy pisać własny, czy przerobić istniejący do potrzeb CMS-a.

Funkcje
  • Pętle lub wyciąganie fragmentów. Dla przykładu chcę wyświetlić nowości. Ich ilość na stronie zależy od ustawień. Każdy news ma inne dane. W jaki sposób najlepiej to zrobić? Podobnie jak podpinanie w PDO?
    1. <?php
    2. $tpl = new Template('file.tpl');
    3. $tpl -> add('jakaś_zmienna', 'wartość'); //Albo w tablicy
    4. $block = $tpl -> getBlock('news');
    5.  
    6. foreach($res as $news)
    7. {
    8. $block -> add(...); //Przypisanie zmiennych
    9. $block -> show(); //Jak zorganizować dane w obiekcie?
    10. }
    11. //Albo inaczej - jak?
    12. ?>
    Co do organizacji danych - albo zamiany następują dopiero w metodzie show(), albo przetworzone dane przechowywane są w dodatkowej zmiennej (większe zużycie pamięci RAM). Trzeba zwrócić też uwagę na instrukcje warunkowe i inne operacje.
  • Zmienne - prawdopodobnie w stylu {zmienna}. Istotną kwestią jest dostęp do innych zmiennych niż przypisane, choć niekonieczną.
  • Instrukcje warunkowe - bez tego trudno napisać elastyczne szablony z dostosowaniem wyglądu do ustawień. Jak je zaimplementować? Może podobnie jak w XT?
    1. <?php
    2. <div id="jakies_id">zawartość</div>
    3. ?>
    A w PHP coś w stylu:
    1. <?php
    2. $tpl -> if( TRUE, ...);
    3. ?>
    Nie wiem, czy to dobry przykład. W takich blokach znajdują się jeszcze inne zmienne.

    A może coś w stylu PHPTal?
    1. <?php
    2. <div if="zmienna">...</div>?
    3. ?>
    Na podobnej zasadzie mogą działać pętle.
  • Cache - bardzo ważne w celu przyspieszenia skryptu. 2 sposoby:
    - zapis pliku .tpl do .php bądź innej formy
    - zapis przetworzonego szablonu do .html (gdy dane rzadko się zmieniają)
    Jeżeli skrypt dostosowywałby szablony sprawnie, funkcja nie jest konieczna.
Inne bajery są raczej zbędne. Kolejna rzecz - łączny rozmiar podstawowych plików systemu szablonów - maks. 4KB.

Czy opłaca się tworzyć własny system szablonów, czy lepiej wykorzystać już istniejący i dostosować go (np. usunąć zbędne funkcje i instrukcje)? Zastanawiam się nad XT.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qqrq
post
Post #2





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat(zimi @ 21.09.2007, 00:58:23 ) *
nie widzę powodu dla którego sensownie prowadzony kod miałby być cięższy do edycji niż szablon


Dobra, zgoda, ale trzeba się zastanowić po co są szablony. Chodzi o oddzielenie warstwy biznesowej od warstwy prezentacji w aplikacji (tak to się chyba nazywa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). W czystym PHP też się da, ale nie tak... "ładnie". (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Poza tym - widziałeś kiedyś kod np. osCommerce? Z pewnym przymrużeniem oka (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) można powiedzieć, że jest on w miarę "sensownie prowadzony". A ja ostatnio przerabiam to coś i klient zażyczył sobie "możliwość dynamicznego wgrania szablonów". Tak żeby można było mając jakiś layout pracować przy okazji nad innym i potem od razu go wgrać (bez przestojów i czasowego wyłączania serwisu). Idea fajna, z wykonaniem gorzej. Hipotetyczny grafik (designer), który by to robił, musiałby pracować na całym osCommerce (czyli jakoś tam wiedzieć co to PHP i do czego). Albo ja musiałbym wszystko przerabiać na Smarty, co jest wykonalne, ale jakby to... rzygać mi się chce na samą myśl.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 18.09.2025 - 17:18