ďťż

[Smarty] Treść strony na smarty?

       

Podstrony


telcocafe

Witam
Ostatnio zainsteresowałem się smarty.

Stworzenie bloków menu, elementów menu itp jest dla mnie proste ale nie mogę nigdzie znaleść jak zrobić poprostu treść.
Ale chodzi mi o taką treść że mam zależnie od strony: newsy, artykuły, księgę gości itp

Wiadomo przecież że lista newsów to nie to samo co artykuły, a ja poprostu nie wiem jak to zrobić mając w templatce:

{$content}

Jak zrobić żeby żeby w tym miejscu includowało się odpowiednio do wyświetlanej strony np guestbook.tpl itp?
Może troche namieszałem ale chyba każdy wie o co mi chodzi
Prosze o pomoc!



Według mnie powinieneś w pliku z logiką(kontroler jeśli to MVC) dać skrypt PHP zapisujący do zmiennej $content treść strony.

Możesz też za pomocą {if} oraz instrukcji {include file=} dołączać plik z treścią.

nie chce korzystać z {if} to czy {eleif} tamto
samą treść jest łatwo dołączyć, ale co jeżeli mam w treści np newsy i chciałbym je też przez smarty 'templatować' że tak powiem? :)


nie chce korzystać z {if} to czy {eleif} tamto
samą treść jest łatwo dołączyć, ale co jeżeli mam w treści np newsy i chciałbym je też przez smarty 'templatować' że tak powiem? :)


W kontrolerze pobierasz newsy i zapisujesz je w treści.

Możesz stworzyć też szablon, w którym za pomocą {foreach} przejdziesz wszystkie elementy, które dostałeś od bazy/pliku i zapisz to jako oddzielny szablon. Potem w Dispatcherze ustawiasz, że np. jak $_GET['show'] == 'news', wtedy ma być wykonana instrukcja {include file=news.tpl.php}

Nom, trochę namąciłem ;) Jak czegoś nie zrozumiesz to pytaj, doprecyzuję :)



rozumiem, ale chodzi o to że ja nie chce korzystać w szablonachz (if $cotam == "news"} cos tam ble ble {/if}, poprostu chciałbym żeby to sie robilo w php a ewentualnie byłby dołączany plik szablonowy np do newsów

how? :P

To szykujesz odpowiedni plik w PHP, który zapisuje wszystkie zwrócone wyniki, obrabia je tak, aby utworzyć z nich kod HTML i zapisujesz końcowy wynik do zmiennej $content, Następnie wyświetlasz w szablonie zawartość tej zmiennej.

Wszystkie te instrukcje IF mogą być zamienione na kod PHP.

EDYCJA: @poniżej:
No to pozostaje Ci użyć tej metody, o której wcześniej mówiłem - zobacz sobie na wzorzec MVC.
Użytkownik Tomek92 edytował ten post 11 lipiec 2008, 11:29

To szykujesz odpowiedni plik w PHP, który zapisuje wszystkie zwrócone wyniki, obrabia je tak, aby utworzyć z nich kod HTML

no własnie obrabianiem na html miałoby się zająć smarty a nie php... :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.