Geçerli twig içeriğini Twig_SimpleFunction olarak adlandırmak mümkün mü? Bir Twig_SimpleFunction, bağlamı değiştirebilir mi?
aşağıda fonksiyon kayıtlı sahiptir: yüzden{{ setContextVar('hellow', 'world') }}
gibi bir şablondan denilen
<?php
namespace Craft;
class TwiggedTwigExtension extends \Twig_Extension
{
public function getName()
{
return 'Twigged';
}
public function getFunctions()
{
return array(
'setContextVar' => new \Twig_SimpleFunction('setContextVar', array($this, 'setContextVar'), array('needs_context' => true)),
);
}
public function setContextVar($context, $str, $val)
{
$context['context'][$str] = $val;
var_dump(array_keys($context['context']));
}
}
, var_dump modifiye bağlamında gösteriyor. Ancak, şablonda {{ dump(_context|keys) }}
gibi hızlı bir kontrol, değiştirilen içeriği göstermez.
Bunu yanlış yoldan mı yapıyorum?
işlevi, işlevi [here] (http://twig.sensiolabs.org/doc/advanced.html#context-aware-filters) açıklandığı gibi, 'need_context' parametrelerini kullanarak doğru bir şekilde tanımladınız mı? – Matteo
Evet, inanıyorum. İşte bir macun - http://pastebin.com/D8ZnKKWm – Fyrebase