Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [smarty] cachowanie niecałego pliku tpl
Regyam
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Mam taki pytanko otóż zaczynam ze smarty, juz troche porobilem ale mam prbolemik. Poniewaz chce uzyc cachowania, ktore byloby bardzo dobrym rozwiazaniem, ale:
Mam np logowanie w kazdej poid stronie na stronie czyli w kazdym pliku tpl. No i jezeli ktos sie zaloguje to musi odczekac czas az sie usunie plik cache wedlug okreslonego lifetime'a. Mozna to rozwiazac poprzez usuwanie tplow jak sie ktos zaloguje, ale to rozwiazanie jest bezsensowne jezeli logowalo by sie sporo osob. Jak myslicice jak to rozwiazac by kod ktory tyczy logowania w pliku .tpl nie byl cachowany?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Ertai
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 14.12.2003

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


Prawde mowiac to ciezko mi jest ciebie zrozumiec smile.gif ale moze rozwiazaniem twojego problemu bedzie uzywanie znacznikow

{if}{/if}? Po prostu masz plik tpl i jezeli ktos jest zalogowany to wysylasz do smartiego np cos takiego $smarty -> assign('zalogowany',1);
a pozniej w tym tpl dajesz taki blok kodu:
  1. <?php
  2. {if $zalogowany eq 1}
  3.  
  4.  TUTAJ CALY KOD HTML STRONY JAKA WIDAC PO ZALOGOWANIU UZYTKOWNIKA
  5. {/if}
  6. ?>


--------------------
"Was that it?" - Ertai
Go to the top of the page
+Quote Post
drPayton
post
Post #3





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Dokumentacja!

Ten post edytował drPayton 6.11.2007, 20:04:11
Go to the top of the page
+Quote Post
Regyam
post
Post #4





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


Zastosowalem sie do tego co podales drPayton, a dokladnie do drugiego przykladu: mam plik kategoria.php wyglada tak:
tzn to tylko jego czesc ale ta najwazniejsza:
  1. <?php
  2. $smarty->cache_lifetime = 100;
  3. $smarty->caching = 2;
  4. function smarty_block_dynamic($param, $content, &$smarty) {
  5. return $content;
  6. }
  7. $smarty->register_block('dynamic', 'smarty_block_dynamic', false);
  8. $smarty->display("kategoria.tpl", $_GET[id]);
  9. ?>

A w pliku kategoria.tpl tak:
  1. <?php
  2. {dynamic}
  3. {if $zalogowany eq 1}
  4. pologowaniu
  5. {else}
  6. logowanie
  7. {/if}
  8. {/dynamic}
  9. ?>


  1. Warning: _include(templates_c/%%95^953^95353E4E%%kategoria.tpl.inc) [function.-include]: failed to open stream: No such file or directory in /home.10.21/gitowo/www/libs/Smarty.class.php on line 1923
  2.  
  3. Warning: _include() [function.include]: Failed opening 'templates_c/%%95^953^95353E4E%%kategoria.tpl.inc' for inclusion (include_path='.:/usr/local/lib/php') in /home.10.21/gitowo/www/libs/Smarty.class.php on line 1923

To na samej gorzae strony. A tam gdzie mialo wysiwetlic sie dynamiczne logowanie:
{nocache:0d87536e10473b724e04526cfeaf8119#0}

nie wiecie jak mi pomoc?

Ten post edytował Regyam 6.11.2007, 20:43:57
Go to the top of the page
+Quote Post
drPayton
post
Post #5





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


W odpowiedzi na PW:
Nie wiem. Spróbuj może usunąć cache i odpal raz jeszcze. Nie znam się na tym, nie korzystam ze Smarty

Ten post edytował drPayton 7.11.2007, 19:50:04
Go to the top of the page
+Quote Post
Regyam
post
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

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


No bez cache dziala tongue.gif tylko wlasnie to jest moj problem z tym dynamicznym polem w cachowanym pliku, ma ktos jakis pomysl?


Wie ktos moze jak zastosowac {insert} do tego mojego kodu? czy w ogóle da sie do tego przerobic. Bo jak widze to na {dynamic} i moj blad nikt nie ma pomysłu.
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: 20.08.2025 - 08:31