Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?

[es] :: PHP :: Smarty template engine :: kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?

[ Pregleda: 3014 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
62.108.111.*

Sajt: www.aspdotnetfaq.com


Profil

icon kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?09.10.2006. u 17:56 - pre 186 meseci
Cao,

malo sam se zezao sa ovem Smarty-jem i stvarno je odlican, samo ima jedan problem koji jos uvek nisam uspeo resiti:

ako u templejtu umam 10 smarty varijabli {prva}, {druga}.... {deseta} itd itd, i od toga za 5 njih postavim vrednosti, a za 5 ne postavim,
smarti mi prikaze gresku i ne prikaze stranicu,

a ja bih: da mogu da odredim da recimo on sve smarty varijable kojima nisam dodelio vrednost, obrise i prikaze stranicu bez ikakve poruke o gresci!


moze li to ili ne? ako ne moze onda su stvarno to bez veze odradili...

po meni to mora da postoji...

ajde da vas cujem...

pozdrav,
Uncle BLob
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?10.10.2006. u 08:05 - pre 186 meseci
Evo posto nikoga nema ovde da odgovori, nasao sam resenje:

u sustini je prosto ali ne postoji primer u dokumentaciji, a nisam nasao nigde ni na webu...

treba uraditi sledece:

$smarty->default_modifiers = array('default: *');

i time ce sve varijable koje nemaju vrednost (kojima skript ne dodeli vrednost, ili je vrednost NULL ili prazan string)
postati '*' (ili sta god vec stavite umesto zvezdice u prethodnoj naredbi).

a ako hocete da neka varijabla bude izuzetak od ovog pravila, uradite sledece:

{$contacts|smarty:nodefaults}

i onda vrednost ove varijable $contacts nece biti menjana, cak i ako joj skript ne bude dodelio vrednost.
(ovo je korisno ako tu varijablu koristite u {foreach} {foreachelse} {/foreach} petlji ili nesto slicno...)

i to je to...

e, sad moze da se koristi Smarty bez ovoga jednostavno nije islo...

a ovaj forum definitivno spava... demantujte me slobodno...
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?10.10.2006. u 08:23 - pre 186 meseci
Pristup ti je pogresan i kad tad ces zbog toga cupati kosu. Upravo je sjajno to sto smarty prijavljuje gresku kada promenljiva nije definisana. Takve stvari treba da regulises drugacije, jer NE SME da ti se desi da koristis promenljivu koja nije definisana ili ako se to i desava onda to moras da kontrolises tako sto ces pre prikaza njene vrednosti proveriti da li ima odgovarajuci sadrzaj (sa if recimo).

Napravi funkciju if_empty() kojoj ce prvi parametar biti vrednost promenljive a drugi parmetar default vrednsot koju ce funkciaj da vrati ako je promenljiva prazna, nedefinisana ili sta bilo, pa to koristi za prikaz. Tako ces imati potpunu kontrolu nad svakom promenljivom.
 
Odgovor na temu

_BloB_
Slobodan Pavkov
www.aspdotnetfaq.com
Kula, Serbia

Član broj: 35144
Poruke: 108
*.nspoint.net.

Sajt: www.aspdotnetfaq.com


Profil

icon Re: kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?10.10.2006. u 09:40 - pre 186 meseci
znaci forum ipak neko cita

u pravu si sve sto si rekao, ali nekada ja BAS ZELIM da ako neka promenljiva nije definisana, da mi stranica
ne pukne i prijavi neke greske korisniku, vec da se prikaze a umesto 'praznih' mpromenljivih da bude zvezdica ili samo
  ili nesto slicno...

to je za neke manje bitne promenljive, recimo ako neki element ne treba da bude vidljiv, ne moram da pisem
poseban kod, samo ga izostavim, a smarty ce staviti & n b s p; ili nesto tako..

a za bitne promenljive koristim if_empty() i tako to...

bitno je da ja imam slobodu da IZABEREM pristup koji mi odgovara...

a kada to imam onda je na meni odgovornost kako cu raditi, a ako nemam pravo na izbor nego Smarty
bira kako cemo to je lose (meni se prvo ucinilo da je tako)...

u tome je poenta celog ovog posta, nadam se da sada shvatas...

u svako slucaju hvala na feedback-u...

pozdrav
Uncle Blob
 
Odgovor na temu

[es] :: PHP :: Smarty template engine :: kako da Smarty pre prikaza izbrise iz templejta sve varijable koje nemaju vrednost?

[ Pregleda: 3014 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.