Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> smarty+cache+mvc, problem ;p
halfik
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


Witam.
Otoz mam aplikacje na MVC.
Wiadomo - jest jakis kontroler itd.
Kazdy element serwisu jest u mnie tzw. sekcja. Kontroler na podstawie $_REQUEST tworzy odpowiednia sekcje, ustawia jej pewne parametry jesli zachodzi potrzeba i wywoluje metode, ktora w obiekcie sekcji odpowiada za wygenerowanie strony.

Przyklad takiej sekcji:

  1. <?php
  2.  
  3. require_once ('./libs/smarty/Smarty.class.php');
  4. require_once ('./Section.php');
  5.  
  6. class Profil extends Section
  7. {
  8. protected $user;
  9. public function __construct ($requestObj)
  10. {
  11. Section::__construct($requestObj);
  12. }
  13.  
  14. public function show_page ()
  15. {
  16.  $this->page->assign('srodek_tpl', 'srodek/profil.tpl');
  17.  $this->page->display('index.tpl');
  18. }
  19.  
  20. } 
  21.  
  22. ?>


I teraz... musze dodac cachowanie smarty.
Oczywiscie niektore elementy szablonow sa dynamiczne i nie moge ich cachowac.

Zatem nalezaloby uzyc {insert name="get_user_name"}. w taki wypadku w skrypcie powinienem miec funkcje insert_get_user_name ().

Ale nie chce miec nic wiecej niz definicje klasy w sekcji. I teraz czy jest mozliwosc, a jesli tak to jak to zrobic, aby w {insert} wywolac metode klasy?

ps.
no to kicha ;p pare h kombinowania i jedno moge stwierdzic: cachowanie w smarty to 1 wielka kicha ;p dlaczego nikt tam nie wpadl na pomysl na {dont_cache} albo cos podobnego. cache smarty i mvc nie ida w paze.

Ten post edytował halfik 6.12.2006, 05:12:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
angel2953
post
Post #2





Grupa: Zarejestrowani
Postów: 199
Pomógł: 5
Dołączył: 8.07.2004
Skąd: gdynia

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


Cytat(halfik @ 6.12.2006, 03:18:37 ) *
no to kicha ;p pare h kombinowania i jedno moge stwierdzic: cachowanie w smarty to 1 wielka kicha ;p dlaczego nikt tam nie wpadl na pomysl na {dont_cache} albo cos podobnego. cache smarty i mvc nie ida w paze.

w manualu jest na to sposób opisany jak dany fragment strony wyłączyć z cache'owania:
  1. <?php
  2. $smarty->caching = 1;
  3. /* f-cja, która zwraca zawartość bez zapisywania w cache;u */
  4. function smarty_block_dynamic($param, $content, &$smarty) {
  5. return $content;
  6. }
  7. /* rejestrujemy f-cje */
  8. $smarty->register_block('dynamic', 'smarty_block_dynamic', false);
  9.  
  10. $smarty->display('index.tpl');
  11. ?>

i w szablonie
  1. Z cache: {'0'|date_format:'%D %H:%M:%S'}
  2. {dynamic}Dynamicznie: {'0'|date_format:'%D %H:%M:%S'}{/dynamic}
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: 4.10.2025 - 19:40