Jaki jest dobry sposób na podłączenie niestandardowego filtra do Twig podczas korzystania z Silex, ale zachowaj istniejący twig.options
w stanie nienaruszonym?Twig addFilter za pomocą Silex?
Oto co mam na myśli. Mam następujący kod:
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => dirname(__FILE__).'/view',
'twig.class_path' => dirname(__FILE__).'/vendor/twig/lib',
'twig.options' => array('cache'=>'folder/twig')
));
function test() {
return 'yay';
}
$app['twig']->addFilter('test',new \Twig_Filter_Function('test'));
Jeśli uruchomię ten kod bez zmian, filtr NIE DZIAŁA.
Zamiast tego Twig zwraca nieskończenie buforowaną wersję POPRZEDNIEGO ŻĄDANIA (nawet jeśli wyczyściłem zawartość pamięci podręcznej - domyślam się, że jest to spowodowane tym, że pamięć podręczna jest przechowywana w innym miejscu, ponieważ nadpisuję twig.options
... nie jestem pewien).
Jednak gdybym rowu następujący wiersz:
'twig.options' => array('cache'=>'folder/twig')
... to wszystko działa.
Jak mogę ładnie grać? np. zachować pamięć podręczną ORAZ dodać niestandardowe filtry?
Dzięki!
działa perfekcyjnie, dzięki! –
Może być dobrze połączyć się z dokumentacją gałązki na ten temat: http://twig.sensiolabs.org/doc/advanced.html#creating-an-extension – Ascherer