क्या Twig_SimpleFunction को कॉल करके वर्तमान ट्विग संदर्भ को संशोधित करना संभव है?क्या एक Twig_SimpleFunction संदर्भ को संशोधित कर सकता है?
मैं नीचे समारोह पंजीकृत है:
<?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']));
}
}
जब ऐसा {{ setContextVar('hellow', 'world') }}
की तरह एक टेम्पलेट से कहा जाता है, var_dump संशोधित संदर्भ को दर्शाता है। लेकिन {{ dump(_context|keys) }}
जैसे टेम्पलेट में त्वरित जांच संशोधित संदर्भ नहीं दिखाती है।
क्या मैं इस बारे में गलत तरीके से जा रहा हूं?
आप सही तरीके से के रूप में [यहां] वर्णित 'need_context' मानकों के साथ फंक्शन को परिभाषित कर (http://twig.sensiolabs.org/doc/advanced.html#context-aware-filters)? – Matteo
हां, मुझे विश्वास है। यहां एक पेस्टबिन है - http://pastebin.com/D8ZnKKWm – Fyrebase