Autor | Zpráva | ||
---|---|---|---|
noway Profil |
#1 · Zasláno: 10. 11. 2007, 09:45:00 · Upravil/a: noway
Dobrý den,založil jsem globálnější téma smarty,protože s ním začínám a jelikož je to docela solidní šablonovací systém,myslím že se bude hodit dané téma i ostatním.
Potřeboval bych 2 věci. 1.věc mě co mě zajímá jakým způsobem doporučujte předávat stránky ve smartech... Nějaké malé zkušenosti mám s GET['page'] ,ale nevím jestli je to správná volba...myslíte,že bych měl použít něco jiného? 2.proměné ve smartech ... tady jsem hrubě narazil... protože co jsem pochopil tak proměnou mohu vytvářet jen v např.pokus.php kde ji nadefinuji a dám ji nějakou hodnotu .. ale představme si nasledující příklad: pokus.php obsahuje
a v sablona.tpl budu mit např.
toto prostě nefunguje protože smarty odmítají takto pracovat s proměnýma.. nějaký nápad.?mohl bych to sice řešit tím že bych tam hodil {php} a {/php} a tam to ošetřil ale pokud veme na vědomí to že bych měl tady to v dalším souboru který by se includoval ... tak bych se pak k těm proměným nedostal.uvedu příklad. pokus.php zůstaqne stejný. obsahem sablona.tpl bude
a konečně soubor sablona2.tpl obsahuje
jak mám tedy používat proměnné ve smartech tak abych jim mohl přiřazovat hodnoty.Podle mě to vůbec nejde a musím to řešit přes script php a nebo jediná varianta co mě napadla je to že si tu proměnou mohu nadefinovat v pokus.php tak jak jsem to udělal mohu jí přiřadit nějakou hodnotu.. to jde ale už nevím jak pak v těch šablonách tu hodnotu měnit... |
||
Timy Profil |
#2 · Zasláno: 10. 11. 2007, 10:37:21
Přiznám se, že tuhle část kódu moc nechápu:
{ if (nejaka podminka)} $promenna=0 {else} $promenna=3 Nebylo by logičtější tohle provést přímo v pokus.php? Tedy asi nějak takto? <?php //zacatek smarty if($podminka) $promenna=0; else $promenna=3; $smarty->assign("promenna",$promenna); $smarty->display("sablona.tpl"); a sablona.tpl: {if $promenna==3} dostal jsem se k proměnné {else} nedostal jsem se k proměnné.. {/if} |
||
noway Profil |
#3 · Zasláno: 10. 11. 2007, 10:56:26
aha jsem to vzal moc obecně já sem se snažil to hodně zjednodušit nenapadlo mě že by to mohl někdo pochopit takto,takže to trochu rozvedu.to co jsem napsal byl jen příklad kvůli těm proměným... není to jako funkční code... který bych používal ... chtěl jsem jen demonstrovat to jak měnit tu proměnou ... protože jde o to že v tom souboru .tpl se mi bude vykonavat nějaký kód například se mi tam bude kontrolovat jestli někdo nezapoměl vyplnit nějaké formulářové pole, a pokud zapoměl,tak se do proměnné $erorrs uloží 1. a pak se to bude někde v jiném tpl.testovat jestli nemá $erorrs hodnotu 1 pokud ano tak se vypise typ chyby nebo tak... sice to taky není kod co používám,ale snad to nastínilo více daný problém ... jak jsem řekl php script se dle mě nedá použít protože jeden z tech .tpl bude pomocí include... nebo pokud někdo ví jak na to... sem s tím
|
||
bukaj Profil |
#4 · Zasláno: 10. 11. 2007, 12:09:32
|
||
noway Profil |
#5 · Zasláno: 10. 11. 2007, 12:13:20
zrovna jsem na ni taky narazil :-)
díky... já se ještě určitě ozvu těch problému budu mít více... :-) |
||
noway Profil |
#6 · Zasláno: 10. 11. 2007, 12:38:31
Tak problém na sebe nenechal dlouho čekat.. sice to funguje ... ale jen v jednom souboru .tpl
to znamená že mám řekněme 2 .tpl soubory např pokus1.tpl a pokus2.tpl v pokusu 1.tpl mam include na pokus2.tpl v pokusu 2.tpl si nastavim promenné na nejaké hodnoty. a zpatky v pokusu 1.tpl si je testuju jestli splnuji nejaké požadavky... potřebuji to vyřešit přesně takto.jak na to.Assign funguje jen v pokus2.tpl .. pokus1.tpl už ho nezná...je to tedy lokální proměnná.. potřebuji něco jako globální ... |
||
noway Profil |
#7 · Zasláno: 11. 11. 2007, 18:23:19
vlastně potřebuji abych to co nadefinuji v pokus2.tpl mohl pouzit v pokus1.tpl .... obracene to samozrejme funguje.Nebo jeste lepe potrebuju vyuzivat nejake globalni promene...
|
||
Časová prodleva: 16 let
|
0