Moje dane wyjściowe.
396 MB RAM, PIII, FoxServ 3.0, WinXP
czy byly problemy z instalacja - NIE; jedyna czynnoscia ktora kazdy z Was musi wykonac to zassac smarty rozpakowac w katalogu glownym i to wszsytko jest i bedzie dzialac.
Do czego sluzy smarty? Czesto macie problemy z czytaniem wlsnych skrytow wszsytko jest tam razem kod php HTML, czesc z Was rozdziela to za pomoca szablonow zas smarty idzie dalej w smarty mozna wykorzystac funkcje ktore sa tam wbudowane. Czy ja cos robilem wczesniej w smarty i na szablonach - NIE.
skoro juz sciagneliscie smarty do siebie i macie rozpakowane czas napisanie pierwszego DZIAŁAJACEGO skryptu w tym celu wspomoge sie manualem ktory przetlumaczyl rzseattle na poczatek co to jest smarty
Cytat
2.1 Czym jest SMARTY
Smarty jest systemem szablonowym dla php. Służy ułatwieniu oddzielenia logiki aplikacji od jej wyglądu . Najlepiej opisuje go sytuacja kiedy programista aplikacji i projektant szablonów mają do spełnienia różne role (bo przecież w większości przypadków to nie jest ta sama osoba). Na przykład, powiedzmy, że projektujesz stronę web która wyświetla artykuł z gazety. Nagłówek, stopka autor i treść są elementami zawartymi w artykule, przyporządkowany im numer mówi nam w jaki sposób poszczególne elementy będą prezentowane. Elementy zostają przyporządkowane przez aplikacje do Smarty, wtedy projektant szablonów edytuje szablony używając kombinacji znaczników HTML i znaczników szablonu do formatowania prezentacji tych elementów (tabelki HTML, kolory tła, wielkość czcionek, arkusze stylów, itd.). Pewnego dnia programista potrzebuje zmienić sposób w jaki dane artykułu są pozyskiwane (zmiana logiki aplikacji). Ta zmiana nie interesuje projektanta szablonu, dane artykułu dalej będą dostarczane do szablonu w ten sam sposób. Podobnie , jeżeli projektant szablonu chce totalnie zmienić wygląd szablonu, nie wymaga to zmiany w logice aplikacji. Dlatego programista może zmieniać logikę aplikacji bez potrzeby restrukturyzacji szablonów, a projektant szablonów może modyfikować szablony bez łamania logiki aplikacji.
Teraz kilka słów o tym czego SMARTY nie robi. Smarty nie próbuje całkowicie oddzielić logiki od szablonów. Nie ma problemu z logiką w twoich szablonach pod warunkiem ,że ta logika służy tylko do prezentacji. Krótka rada: trzymaj logikę aplikacji z dala od szablonów i logikę prezentacji z dala od aplikacji. To definitywnie utrzyma twoją witrynę jako w pełni i łatwo edytowalną w przyszłości.
Jednym z unikalnych aspektów Smarty jest kompilowanie szablonów. To znaczy, że Smarty czyta plik szablonu i tworzy dla niego skrypt php. Kiedy już jest stworzony, szablony uruchamiane są przez ten skrypt. Dlatego nie ma potrzeby parsowania plików szablonów dla każdego żądania, równocześnie każdy szablon jest w pełni obrabialny dal kompilerów php takich jak Zend Accelerator (http://www.zend.com) albo php Accelerator (http://www.php-accelerator.co.uk/).
Niektóre z własności Smarty:
* Jest ekstremalnie szybki
* Nie parsuje szablonu za każdym razem, tylko raz kompiluje.
* Rekompiluje tylko te szablony które się zmieniły.
* Język szablonów jest ekstremalnie elastyczny ponieważ możesz tworzyć własne funkcje oraz własne modyfikatory zmiennych
* Konfiguralne znaczniki wyrażeń szablonów, możesz używać {}, {{}}, <!—{}--!>, itd.
* Konstrukcje if/elseif/else/endif są przekazywane do parsera php, więc wyrażenie {if...} może być proste lub kompleksowe – jak sobie życzysz.
* Nieograniczone zagnieżdżanie sekcji, if-ów itd.
* Jeśli to możliwe osadzanie kodu php w plikach szablonów, jednak jest to czynność nie polecana
* Wbudowane caschowanie
* Samowolne źródła szablonów

* Architektura wtyczkowa

* Architektura pozwalająca wykorzystywać wtyczki
Smarty jest systemem szablonowym dla php. Służy ułatwieniu oddzielenia logiki aplikacji od jej wyglądu . Najlepiej opisuje go sytuacja kiedy programista aplikacji i projektant szablonów mają do spełnienia różne role (bo przecież w większości przypadków to nie jest ta sama osoba). Na przykład, powiedzmy, że projektujesz stronę web która wyświetla artykuł z gazety. Nagłówek, stopka autor i treść są elementami zawartymi w artykule, przyporządkowany im numer mówi nam w jaki sposób poszczególne elementy będą prezentowane. Elementy zostają przyporządkowane przez aplikacje do Smarty, wtedy projektant szablonów edytuje szablony używając kombinacji znaczników HTML i znaczników szablonu do formatowania prezentacji tych elementów (tabelki HTML, kolory tła, wielkość czcionek, arkusze stylów, itd.). Pewnego dnia programista potrzebuje zmienić sposób w jaki dane artykułu są pozyskiwane (zmiana logiki aplikacji). Ta zmiana nie interesuje projektanta szablonu, dane artykułu dalej będą dostarczane do szablonu w ten sam sposób. Podobnie , jeżeli projektant szablonu chce totalnie zmienić wygląd szablonu, nie wymaga to zmiany w logice aplikacji. Dlatego programista może zmieniać logikę aplikacji bez potrzeby restrukturyzacji szablonów, a projektant szablonów może modyfikować szablony bez łamania logiki aplikacji.
Teraz kilka słów o tym czego SMARTY nie robi. Smarty nie próbuje całkowicie oddzielić logiki od szablonów. Nie ma problemu z logiką w twoich szablonach pod warunkiem ,że ta logika służy tylko do prezentacji. Krótka rada: trzymaj logikę aplikacji z dala od szablonów i logikę prezentacji z dala od aplikacji. To definitywnie utrzyma twoją witrynę jako w pełni i łatwo edytowalną w przyszłości.
Jednym z unikalnych aspektów Smarty jest kompilowanie szablonów. To znaczy, że Smarty czyta plik szablonu i tworzy dla niego skrypt php. Kiedy już jest stworzony, szablony uruchamiane są przez ten skrypt. Dlatego nie ma potrzeby parsowania plików szablonów dla każdego żądania, równocześnie każdy szablon jest w pełni obrabialny dal kompilerów php takich jak Zend Accelerator (http://www.zend.com) albo php Accelerator (http://www.php-accelerator.co.uk/).
Niektóre z własności Smarty:
* Jest ekstremalnie szybki
* Nie parsuje szablonu za każdym razem, tylko raz kompiluje.
* Rekompiluje tylko te szablony które się zmieniły.
* Język szablonów jest ekstremalnie elastyczny ponieważ możesz tworzyć własne funkcje oraz własne modyfikatory zmiennych
* Konfiguralne znaczniki wyrażeń szablonów, możesz używać {}, {{}}, <!—{}--!>, itd.
* Konstrukcje if/elseif/else/endif są przekazywane do parsera php, więc wyrażenie {if...} może być proste lub kompleksowe – jak sobie życzysz.
* Nieograniczone zagnieżdżanie sekcji, if-ów itd.
* Jeśli to możliwe osadzanie kodu php w plikach szablonów, jednak jest to czynność nie polecana
* Wbudowane caschowanie
* Samowolne źródła szablonów



* Architektura wtyczkowa



* Architektura pozwalająca wykorzystywać wtyczki
teraz czas sprawdzic czy to co macie u siebie dziala
Cytat
Zainstaluj pliki bibliotek Smarty znajdujące się w katalogu /libs/ dystrybucji. Są to pliki php których NIE POWINENEŚ zmieniać. Są one wydzielone spośród wszystkich aplikacji i zostają zaktualizowane tylko wtedy kiedy zaktualizujesz je na nową wersje Smarty.
Przykład 2-1. Pliki bibliotek Smarty
Smarty używa stałej php o nazwie SMARTY_DIR która jest ścieżką systemową katalogu z bibliotekami Smarty. Przeważnie, jeżeli twoja aplikacja potrafi znaleźć plik Smarty.class.php, nie musisz ustawiawiać SMARTY_DIR. Dlatego, jeżeli Smarty.class.php nie znajduje się w twoim iclude_path, albo nie dostarczysz ścieżki absolutnej do tego w twojej aplikacji, wtedy musisz zdefiniować SARTY_DIR ręcznie. SMARTY_DIR musi zawierać ostatni slash.
Oto jak tworzyć przykładowy skrypt php ze Smarty:
Przykład 2-2. Tworzenie Smarty przykład Smarty
Spróbuj uruchomić powyższy skrypt. Jeśli w rezultacie zostanie wyświetlony błąd mówiący o tym, że nie można znaleźć pliku Smarty.class.php spróbuj zrobić jedną z następujące rzeczy:
Przykład 2-3. Wpisać ścieżkę bezwzględna do katalogu z biblioteką
Przykład 2-4. Dodać kaalog biblioteki do php_include path
Przykład 2-5. Ustawić stałą SMARTY_DIR
Przykład 2-1. Pliki bibliotek Smarty
Kod
Smarty.class.php
Smarty_Compiler.class.php
Config_File.class.php
debug.tpl
/plugins/*.php (all of them!)
Smarty_Compiler.class.php
Config_File.class.php
debug.tpl
/plugins/*.php (all of them!)
Smarty używa stałej php o nazwie SMARTY_DIR która jest ścieżką systemową katalogu z bibliotekami Smarty. Przeważnie, jeżeli twoja aplikacja potrafi znaleźć plik Smarty.class.php, nie musisz ustawiawiać SMARTY_DIR. Dlatego, jeżeli Smarty.class.php nie znajduje się w twoim iclude_path, albo nie dostarczysz ścieżki absolutnej do tego w twojej aplikacji, wtedy musisz zdefiniować SARTY_DIR ręcznie. SMARTY_DIR musi zawierać ostatni slash.
Oto jak tworzyć przykładowy skrypt php ze Smarty:
Przykład 2-2. Tworzenie Smarty przykład Smarty
<?php require('Smarty.class.php'); $smarty = new Smarty; ?>
Spróbuj uruchomić powyższy skrypt. Jeśli w rezultacie zostanie wyświetlony błąd mówiący o tym, że nie można znaleźć pliku Smarty.class.php spróbuj zrobić jedną z następujące rzeczy:
Przykład 2-3. Wpisać ścieżkę bezwzględna do katalogu z biblioteką
<?php require('/usr/local/lib/php/Smarty/Smarty.class.php'); $smarty = new Smarty; ?>
Przykład 2-4. Dodać kaalog biblioteki do php_include path
<?php // Edit your php.ini file, add the Smarty library // directory to the include_path and restart web server. // Then the following should work: require('Smarty.class.php'); $smarty = new Smarty; ?>
Przykład 2-5. Ustawić stałą SMARTY_DIR
<?php require(SMARTY_DIR.'Smarty.class.php'); $smarty = new Smarty; ?>
jestem leniwy i poszukalem na forum ciekawego przykladu i dzieki uprzejmosci Pana search.php oraz wiedzi Seth`a odnalazlem cos
Przykladowy wzorzec test.tpt:
Kod obsługujący ten wzorzec:
<?php require( SMARTY_DIR.'Smarty.class.php' ); $smarty = new Smarty; //tutaj podajemy sciezki do poszczegolnych katalogow (podalem przykladowe sdciezki) // $_home_path - bezwzgledna sciezka do naszej strony // mozna to zapisac inaczej (to tylko przyklad :) ) $smarty->template_dir = $_home_path.'templates/'; $smarty->compile_dir = $_home_path.'templates/templates_c/'; $smarty->config_dir = $_home_path.'templates/configs/'; $smarty->cache_dir = $_home_path.'templates/cache/'; $smarty->assign( 'title', 'Test strony'); $smarty->assign( 'text', 'To jest text na naszej stronie'); $smarty->display( 'test.tpt' ); // plik test.tpt musi znajdowac sie w katalogu templates. ?>
pozdrawiam