Parametry při použití {include} jsou vždy null
- JaxP
- Člen | 62
Ahoj,
nevím, zda-li jsem něco přehlédl, ale po posledních aktualizacích se mi
stává, že parametry pojmutých bloků jsou vždy null
.
Mám nadefinovaný blok:
{define headline, $text}
{dump $text}
{/define}
a po následném vložení je vždy parametr/y null
{include headline text}
{include headline 'text'}
Daná situace nastává pouze pokud chci blok zahrnout v rámci
{block content}
. V komponentách stejný kód funguje.
Nette 3.0, Latte 2.5.2
Edit
aktuální stav:
Po zkoumání co se děje, jsem našel důvod „zmizení“ mé proměnné.
V šabloně (která patří presenteru), je vytvořena funkce:
function blockHeadline($_args){
extract($_args);
$text = $_args[0] ?? $text ?? null;
Tracy\Debugger::barDump(($text), '$text');
//....
}
Problém je konkrétně v extract
(který vytvoří proměnné,
dle názvu klíče v poli). Ovšem v poli existuje položka s klíčem
_args
(v něm je User,basePath atp.), tím nastane přepsání
vstupního parametru $_args
⇒ tím zmizí má proménná.
Edit
Commit BlockMacros: {define} accepts named parameters by mohl být důvodem.
Editoval JaxP (13. 9. 2019 16:59)