Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Klasa szablonów
Forum PHP.pl > Forum > Przedszkole
matyskiewicz
Poszukuje jakiegoś łatwego w użyciu systemu szablonów. Przegladałem dokumentacje od Smarty i szczerze mówiąc obawiam się ze sobie nie poradzę. Znalazłem prostszą wersję klas szablonów, ale autor chyba popełnił błąd bo po złożeniu niestety strona wywala błąd, przez dłuższy czas walczyłem z nim, ale finalnie sobie podarowałem. Co byście polecili?
mdco
Jeżeli chodzi o mnie to używam smartów. Jest to naprawde prosty system szablonów. Sprobuj od prostych przykładów, a po kilku dniach zaznajamiania sie zobaczysz ze smarty są bardzo łatwe. Ja tez miałem kiedyś awersje do smartów, a teraz nie wyobrażam sobie pisania aplikacji bez smartów winksmiley.jpg. Powodzenia...
matyskiewicz
jednak sie przekonalem do Smartów.
Mógłby mi ktoś powiedzieć jak wstawić zawartość funkcji zdefiniowanej przeze mnie? np:
  1. <?php
  2. function as(){
  3. print 'as';
  4. }
  5. ?>
koodlaty
Jeśli Cię dobrze zrozumiałem...

  1. <?php
  2. function AlaMaKota()
  3. {
  4.  return 'as';
  5. }
  6.  
  7. $SMARTY = new Smarty;
  8. $SMARTY -> assign('nazwa', AlaMaKota());
  9. ?>
matyskiewicz
dokladnie o to mi chodzi lecz niestety nie chodzi tongue.gif
Fatal error: Call to undefined function data()
i drugi bład:
Warning: Smarty error: unable to read resource: "index.tpl" in /home/smarty/smarty.class.php on line 1095
  1. <?php
  2. trigger_error("Smarty error: $error_msg", $error_type);
  3. ?>

kod mojej strony:
  1. <?php
  2. include 'smarty/smarty.class.php';
  3. $index_title = ' ';
  4. $index_slowa_kluczowe = ' ';
  5. $index_opis_strony = ' ';
  6. function data(){
  7. print 'data';
  8. }
  9. $smarty = new Smarty;
  10. $smarty -> assign('TYTUL', '$index_title');
  11. $smarty -> assign('SLOWA_KLUCZOWE', $index_slowa_kluczowe);
  12. $smarty -> assign('OPIS_STRONY', $index_opis_strony);
  13. $smarty -> assign('DATA', data());
  14. $smarty -> display('index.tpl');
  15. ?>
koodlaty
Wiesz co...? Może lepiej zanim weźmiesz się za szablony, poducz się jeszcze trochę pehapa, bo widzę, że całkiem nie trybisz... Jeśli chcesz podać swoją funkcję jako parametr do smartowego assign(), to żeby coś wyświetlić musi się ona ewaluować do czegoś sensownego. Porównaj funkcję, którą mi podałeś do tej, którą napisałeś... return sprawia, że funkcją zwraca wartość.
matyskiewicz
To nie zmienia faktu, ze wyskakuje mi jeszcze drugi bład.
Lisek54
Jeżeli potrzebujesz prostego systemu szablonów poszukaj w dziale Gotowców na forum smile.gif

Jest ich tam pełno, jeżeli wywali Ci błędy sprawdź czy masz PHP5.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.