Latte – nepředává se proměnná do bloku

m.brecher
Generous Backer | 864
+
0
-

Narazil jsem na tento problém.

Dle dokumentace lze vložit blok jehož jméno je v proměnné a do bloků by se měly předat proměnné z vnějších oborů.

Když vložíme blok jehož jméno je v proměnné – blok se sice vloží, ale nepředá se do něj proměnná, zatímco když místo proměnné jako jméno bloku napíšeme string tak se proměnná předá:

    {var $var = 'abc'}
    {var $name = 'test'}
    {include block $name}  // PHP Warning: Undefined variable $var

    {block test}
        {$var}  // vypíše abc
    {/block}

Zatímco takhle se proměnná předá:

    {var $var = 'abc'}
    {include test}   // vypíše abc

    {block test}
        {$var}  // vypíše abc
    {/block}

Přesněji řečeno se proměnná do bloku předá, ale když se tento blok vkládá pomocí {include block $blockName} tak se blok chová, jakoby tu proměnnou neměl.

Stejný problém je v tagu {define}.

Problém je v Latte – v3.0.4 i 3.0.5-RC1.

Editoval m.brecher (21. 1. 2023 4:27)