Feature requesty – widget, ifCurrent, Presenter::getParams
- Ondřej Mirtes
- Člen | 1536
Ahoj,
vyvíjíme teď jednu komponentu a narazili jsme na pár omezení:
Widget makro neumožňuje do render metody poslat více parametrů. Když do šablony zapíšu:
{control my:menu param1 param2}
Tak to do render metody přijde jako jeden string:
'param1 param2'
Lepší by bylo, kdyby to počítalo s tím, že ta render metoda může mít dva vstupní parametry a podle nich se to zachovalo. Mohl bych to parsovat, ale kdyby si to Nette pořešilo samo, bylo by to lepší.
Dále: lepší práce s ifCurrent. Tento požadavek už může být
zastaralý, zahlédl jsem, že David chystá přepsání této funkčnosti do
$presenter->isCurrent()
, aby to šlo kombinovat s dalšími
podmínkami. Problém současné verze je v tom, že nelze makru předat
proměnnou, která obsahuje pole parametrů. Ono se to přeloží, že do
$this->link()
se dostane array($parametry)
, tudíž
pole v poli.
A na konec – Presenteru by se hodila metoda getParams(), která vrátí
seznam všech parametrů. Nyní se to dá vytáhnout přes
$presenter->request->params
, ale tato zkratka by se hodila,
když už má Presenter metodu getParam()
.
Co vy na to?
Editoval Ondřej Mirtes (26. 11. 2009 11:48)
- David Grudl
- Nette Core | 8218
Nefunguje {control my:menu param1, param2}
?
ad getParams: getParam()
(bez parametrů) je vrátí všechny,
je to sice neintuitivní, ale vzhledem k tomu, že se to v podstatě
nepoužívá…