jak jednoduse pridat vlastni makro?
- wdolek
- Člen | 331
docela rad bych potreboval pridat makro (ne helper) – neco na zpusob
link
. mam obrazky k jednotlivym profilum, ktere se mi do slozek
skladaji podle ID uzivatele, pak tam mam jeste ve jmenu obrazku
zamotany hash.
chtel bych si tedy vyrobit makro, napriklad
{imagePath $uid $hash}
, ktere by zavolalo nejakou mnou prichystanou
metodu, ktera by vyhodila
treba http://www.wdolekjearciknizevsehotvorstva.cz/l-imaaaz/000/000/001/HASH0000000001.jpg
… v template bych pak volal jen
<img src="{imagePath 1 'HASH'}" .../>
koukal sem, ze bych to mohl pridat do statickeho pole na
LatteMacros
, ale zrovinka sem moc nepochopil syntaxi kolem :( a
mozna je i nejaka funkce pro registraci vlastniho makra (?) :)
Editoval wdolek (10. 11. 2009 12:57)
- Majkl578
- Moderator | 1364
Pokud to uděláš včas (před zaregistrováním Latte filteru), můžeš použít zmíněné pole LatteMacros::$defaultMacros
LatteMacros::$defaultMacros['foo'] = '<?php echo MyMacros::foo(%%); ?>';
kde MyMacros::foo() je tvoje metoda na zpracování, parametry se předají stejně jako v template do makra.
- Jan Tvrdík
- Nette guru | 2595
Pro parsování lze pak použít funkci
LatteFilter::fetchToken
.
<?php
class MyMacros
{
public static function foo($s)
{
$id = LatteFilter::fetchToken($s);
$hash = LatteFilter::fetchToken($s);
}
}