Parametry při použití {include} jsou vždy null

JaxP
Člen | 62
+
0
-

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)

David Grudl
Nette Core | 8218
+
+1
-

Opraveno