Chyba v CurlyBracket filteru {attr accesskey}

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
2bfree
Člen | 248
+
0
-

Zdravím,

pokusil jsem se na jeden tak přidat atribut accesskey v rámci generování menu.

<a{if $promena==$hodnota} accesskey="2"{/if}>

vypíše

<a accesskey="2">

namísto toho zápis
<a{attr accesskey("2",$promena==$hodnota)}>

vrátí nepochopitelně

<a accesskey="1">

Jde o tu jedničku. Pokud dám jako parametr písmenko, tak se chyba neprojevuje.

westrem
Člen | 398
+
0
-

To nie je chyba, len zly vyklad dokumentacie daneho makra :)

Ked si pozries, na co sa dane makro prevadza tak zistis, ze sa ti vygeneruje nieco ako:

Html::el()->accesskey("2", $promena==$hodnota);

Ked si nasledne pozries ako sa chova overload na __callHtml tak zistis ze sa ti vykonava podmienka na riadku 188 ktora sa nasledne pri budovani atributov ukaze na riadku 533 pretoze ty tym vlastne iba spravis, ze nastavis v params toto:

$this->params["2"] = $promena==$hodnota;
westrem
Člen | 398
+
0
-

Hmm a mozno sa mylim, pretoze naozaj by sa mala vykonat podmienka na riadku 530 a nie az ta na 533.

David Grudl
Nette Core | 8170
+
0
-

fixed