Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Smarty] Problem z cache
Skie
post
Post #1





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


Witam,
Używam na swojej stronie Smarty Templates i napotkałem pewien problem. Otóż pewna podstrona jest cache'owana, ale jest na niej kilka zmiennych, które chciałbym, by były generowane dynamicznie (bez użycia cache).

Próbowałem z {dynamic}{/dynamic} ale mimo to strona jest nadal cała cache'owana.
Fragment mojego kodu PHP wygląda tak:

  1. <?php
  2. // nagłówek
  3. require_once("includes/head.php");
  4.  
  5. // ustawianie cache
  6. $temp -> caching = 1;
  7. $temp -> compile_check = false;
  8.  
  9. // początek - określanie, która zakładka ma być włączona.
  10. $option[0] = (!$_GET['action']) ? 'active' : 'unactive';
  11. $option[1] = ($_GET['action'] == 'effects') ? 'active' : 'unactive';
  12. $option[2] = ($_GET['action'] == 'battles') ? 'active' : 'unactive';
  13. $option[3] = ($_GET['action'] == 'quests') ? 'active' : 'unactive';
  14.  
  15. [...tutaj część właściwa strony...]
  16.  
  17. // stopka
  18.  
  19. $temp -> assign(array("Option" => $option, "Lang" => $lang, "Action" => $_GET['action']));
  20. function smarty_block_dynamic($param, $content, &$smarty) {
  21. return $content;
  22. }
  23. $temp->register_block('dynamic', 'smarty_block_dynamic', false);
  24.  
  25. $temp -> display("page.tpl", $user -> id);
  26. ?>


I TPL

Kod
{dynamic}

<table width=500 cellpadding=0 cellspacing=0 align=center rules=cols frame=box>
<tr>
<td class="{$Option[0]}"><a class=upper_table_panel href=#>{$Lang[0]}</a></td>
<td class="{$Option[1]}"><a class=upper_table_panel href=#>{$Lang[1]}</a></td>
<td class="{$Option[2]}"><a class=upper_table_panel href=#>{$Lang[2]}</a></td>
<td class="{$Option[3]}"><a class=upper_table_panel href=#>{$Lang[3]}</a></td>
</tr>
</table>

{/dynamic}


Chodzi mi o to, aby ta tabela nie była cache'owana. (A dokładniej {$Option[]})
Używam Smarty 2.6.19.

Byłbym wdzięczny za pomoc / wskazówkę winksmiley.jpg


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
rzymek01
post
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


dawno się nie bawiłem smarty, ale z tego co pamiętam w takich sytuacjach nie można tego TPL dawać do cachu smile.gif


--------------------
:]
Go to the top of the page
+Quote Post
jezoo
post
Post #3





Grupa: Zarejestrowani
Postów: 92
Pomógł: 3
Dołączył: 4.04.2006

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


Sprawdz w ten sposob, ze zamiast w caching 1 daj 0:
  1. <?php
  2. $temp->caching = 0;
  3. ?>


ewentualnie spróbuj zastosowac funkcje insert link
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 01:07