Odkaz na signal komponenty cez n:href – nette 2.1 dev
- duskohu
- Člen | 778
Caute, neviete ci sa v novom nette 2.1 dev nemenil sposob generovania url pre signal komponenty? Dodnes som pouzival bezne:
<a n:href="deleteShoppingCartItem! $id">Odstrániť</a>
ale to mi zrazu hlada signal v presentru ale ten je v komponente
error: Unknown signal 'deleteShoppingCartItem', missing handler Nas\ShopModule\AdminModule\OrderPresenter::handledeleteShoppingCartItem()
ked to skusim cez link tak je to ok, takze nemam chybu v tom ze by som v komponente ten signal nemal
{link deleteShoppingCartItem! $id}
Neviete ci sa to menilo?
- David Grudl
- Nette Core | 8282
Můžeš se podívat, jaký Latte generuje PHP kod při použití {link} a n:href?
- duskohu
- Člen | 778
@Šaman skusil som premenuvat
handleDeleteShoppingCartItem() na
handledeleteShoppingCartItem(), ale nepomohlo
@David Grudl prepac, ale neviem ci som uplne pochopil
otazku, chcel si vystup co vygeneruje {link} a co n:href? lebo ak ano prikladam,
ak nie, prosim specifukuj inak, tym padom som nepochopil spravne :-)
{link deleteShoppingCartItem! $id}
/sukromne/www.nas.dusan.hudak.com/www/admin/shop/order/edit/55?editOrder-item=22&do=editOrder-deleteShoppingCartItem
n:href="deleteShoppingCartItem! $id"
error: Unknown signal 'deleteShoppingCartItem', missing handler Nas\ShopModule\AdminModule\OrderPresenter::handledeleteShoppingCartItem()
- Šaman
- Člen | 2668
Myslím, že David chtěl abys v nakešované (tedy už přeložené)
šabloně našel PHP kód, který odpovídá tomu n:href a linku.
Šablona bude v temp/cache/_Nette.FileTemplate
. Obsahuje už jen
php kód, žádná makra, takže např. odkaz na homepage vypadá takto:
<?php
# původně <a href="{$homepage->url}" class="active"><strong>{$homepage->label}</strong></a>
<a href="<?php echo htmlSpecialChars($item->url) ?>" class="active"><strong><?php echo Nette\Templating\Helpers::escapeHtml($item->label, ENT_NOQUOTES) ?></strong></a>
?>
- duskohu
- Člen | 778
Aha, prepac, nepochopil som spravne :-), takze:
//n:href
href="<?php echo htmlSpecialChars($_presenter->link("deleteShoppingCartItem!", array($id))) ?>"
// {link}
<?php echo Nette\Templating\Helpers::escapeHtml($_control->link("deleteShoppingCartItem!", array($id)), ENT_NOQUOTES) ?>
Takze n:href smeruje na presenter, ale preco? mam tam !
- David Grudl
- Nette Core | 8282
Máš tam nějaké rozšíření nebo vytváříš vlastní makra nebo něco takového?