public static function install(Latte\Engine $latte)
 {
     $me = new static();
     $latte->addFilter('emphasize', array($me, 'filterEmphasize'));
     foreach (self::$set as $filter_name => $callback) {
         $latte->addFilter($filter_name, $callback);
     }
 }
 /**
  * @dataProvider translateDataProvider
  */
 public function testTranslate($translated, $latteTpl, $expected, $arguments)
 {
     $translatorMock = $this->getMockForAbstractClass('Nette\\Localization\\ITranslator');
     $translatorMock->expects($this->any())->method('translate')->will($this->returnValue($translated));
     $latte = new Latte\Engine();
     $latte->addFilter('translate', array($translatorMock, 'translate'));
     $latte->onCompile[] = function ($engine) {
         Nedryse\Latte\Macros\TemplateMacroSet::install($engine->getCompiler());
     };
     $name = tempnam(sys_get_temp_dir(), 'name');
     file_put_contents($name, $latteTpl);
     $this->assertSame($expected, $latte->renderToString($name, $arguments));
     unlink($name);
 }
 public function create()
 {
     $service = new Latte\Engine();
     $service->setTempDirectory('/home/fuca/Projects/www/sportsclub/tests/tmp/cache/latte');
     $service->setAutoRefresh(FALSE);
     $service->setContentType('html');
     Kdyby\Translation\Latte\TranslateMacros::install($service->getCompiler());
     $service->addFilter('translate', array($this->container->getService('translation.helpers'), 'translate'));
     $service->addFilter('getTranslator', array($this->container->getService('translation.helpers'), 'getTranslator'));
     $service->onCompile = $this->container->getService('events.manager')->createEvent(array('Latte\\Engine', 'onCompile'), $service->onCompile);
     return $service;
 }
Example #4
0
use Zend\ServiceManager\ServiceLocatorInterface;
return array('factories' => array('Zf2Latte\\LatteStrategy' => function (ServiceLocatorInterface $sl) {
    return new \Zf2Latte\LatteStrategy($sl->get('Zf2Latte\\LatteRenderer'), $sl->get('Zf2Latte\\LatteResolver'), $sl->get('Zf2Latte\\LatteConfig'));
}, 'Zf2Latte\\LatteRenderer' => function (ServiceLocatorInterface $sl) {
    return new \Zf2Latte\LatteRenderer($sl->get('Latte\\Engine'), $sl->get('Zf2Latte\\LatteResolver'), $sl->get('Zf2Latte\\ZendHelpers'));
}, 'Zf2Latte\\ZendHelpers' => function (ServiceLocatorInterface $sl) {
    return new \Zf2Latte\ZendHelpers($sl->get('ViewHelperManager'));
}, 'Zf2Latte\\LatteResolver' => function (ServiceLocatorInterface $sl) {
    $config = $sl->get('config');
    return new \Zf2Latte\LatteResolver($config['view_manager'], $sl->get('Zf2Latte\\LatteConfig'));
}, 'Zf2Latte\\LatteConfig' => function (ServiceLocatorInterface $sl) {
    $config = $sl->get('config');
    $latteConfig = new \Zf2Latte\LatteConfig();
    foreach ($config['zf2_latte'] as $name => $value) {
        $latteConfig->{$name} = $value;
    }
    return $latteConfig;
}, 'Latte\\Engine' => function (ServiceLocatorInterface $sl) {
    /** @var \Zf2Latte\LatteConfig $config */
    $config = $sl->get('Zf2Latte\\LatteConfig');
    $engine = new \Latte\Engine();
    $engine->addFilter('translate', array($sl->get($config->translator_callback[0]), $config->translator_callback[1]));
    $engine->onCompile[] = function ($engine) {
        $set = \Latte\Macros\MacroSet::install($engine->getCompiler());
        $set->addMacro('href', NULL, NULL, 'echo \' href="\' . $helper->url(%node.args) . \'"\'');
    };
    $engine->setTempDirectory($config->temp_directory);
    $engine->setAutoRefresh($config->auto_refresh);
    return $engine;
}));