Parametr helperu proměnná v šabloně
- Martin Mates
- Člen | 179
Chci se zeptat. Vytvořil jsem si helper, který by měl skloňovat měsíce
nebo týdny podle toho kolik jich je. Myšlenka takováto:
{$a['jednotka']|czSklon:5}
Pokud bude $a[‚jednotka‘] týden,
tak to vrátí ‚týdnů‘ protože jich má být 5.
To by nebyl problém, jenže počet by měla být také proměnná takže se
dostávám k následujícímu:
{$a['jednotka']|czSklon:$a['pocet']}
To nejde, hází to
Parse Error.
Jde to vůbec?
- jasir
- Člen | 746
Martin Mates napsal(a):
Chci se zeptat. Vytvořil jsem si helper, který by měl skloňovat měsíce nebo týdny podle toho kolik jich je. Myšlenka takováto:
{$a['jednotka']|czSklon:5}
Pokud bude $a[‚jednotka‘] týden, tak to vrátí ‚týdnů‘ protože jich má být 5.
Nevím, jestli to jde tak, jak píšeš, ale ten helper může dostat více parametrů tímto způsobem:
<?php
function czsklon_helper($unit, $pocet)
{
...
}
?>
a pak můžeš volat
<?php
{$a['jednotka'],$pocet |czsklon}
?>
Editoval jasir (30. 4. 2009 21:55)
- Martin Mates
- Člen | 179
<?php {$a['jednotka'],$pocet |czsklon} ?>
Díky, tohle funguje! Myslel jsem, že se další parametry helperu dávají za dvojtečku.
- David Grudl
- Nette Core | 8218
{$a['jednotka'],$pocet |czsklon}
je spíš trik, u kterého
nelze zaručit budoucí kompatibilitu. Nešlo by třeba
{$a['jednotka']|czSklon:"$a[pocet]"}
?
- Martin Mates
- Člen | 179
David Grudl napsal(a):
{$a['jednotka'],$pocet |czsklon}
je spíš trik, u kterého nelze zaručit budoucí kompatibilitu. Nešlo by třeba{$a['jednotka']|czSklon:"$a[pocet]"}
?
Zkusil jsem to takto: {$a['jednotka']|czSklon:"$a['pocet']"}
a
to nefunguje. Pak jsem si všiml, že nemáš uvozovky u $a[pocet]
.
Dal jsem je pryč a shazam! Už to jede. Nechápu :-) Díky!
- Ondřej Mirtes
- Člen | 1536
A nechtělo by to spíš zabudovat rovnou nějakou plnohodnotnou lokalizaci, než toto?
Viz např.: https://forum.nette.org/…i-lokalizace
- Martin Mates
- Člen | 179
LastHunter napsal(a):
A nechtělo by to spíš zabudovat rovnou nějakou plnohodnotnou lokalizaci, než toto?
Viz např.: https://forum.nette.org/…i-lokalizace
O tom jsem nevěděl. Díky! Určitě na to mrknu.