public function setUp() { \Zend\View\Helper\Placeholder\Registry::unsetRegistry(); $this->basePath = __DIR__ . '/_files/modules'; $renderer = new \Zend\View\Renderer\PhpRenderer(); $renderer->plugin('basePath')->setBasePath($this->basePath); $this->helper = new CtrlJsLoader(); $this->helper->setView($renderer); }
/** * Register service manager & set up Twig if * we have an environment * * @param \Pimple\Container $container */ public function register(\Pimple\Container $container) { $smConfigurator = new ServiceManagerConfigurator(); $serviceManager = $smConfigurator->createServiceManager($this->settings); $container['serviceManager'] = $serviceManager; if ($container['view'] instanceof \Slim\Views\Twig) { // Register Zend\Forms view helpers $viewHelperManager = $serviceManager->get('ViewHelperManager'); $renderer = new \Zend\View\Renderer\PhpRenderer(); $renderer->setHelperPluginManager($viewHelperManager); $environment = $container['view']->getEnvironment(); $environment->registerUndefinedFunctionCallback(function ($name) use($viewHelperManager, $renderer) { if (!$viewHelperManager->has($name)) { return false; } $callable = [$renderer->plugin($name), '__invoke']; $options = ['is_safe' => ['html']]; return new \Twig_SimpleFunction(null, $callable, $options); }); } }
/** * Constructor * * @param Finna\Db\Table\User $userTable User table. * @param Finna\Db\Table\DueDateReminder $dueDateReminderTable Due date * reminder table. * @param VuFind\ILS\Connection $catalog ILS connection. * @param VuFind\Config $configReader Config reader. * @param Zend\View\Renderer\PhpRenderer $renderer View renderer. * @param VuFind\RecordLoader $recordLoader Record loader. * @param VuFind\HMAC $hmac HMAC. * @param VuFind\Translator $translator Translator. * @param ServiceManager $serviceManager Service manager. */ public function __construct($userTable, $dueDateReminderTable, $catalog, $configReader, $renderer, $recordLoader, $hmac, $translator, $serviceManager) { $this->userTable = $userTable; $this->dueDateReminderTable = $dueDateReminderTable; $this->catalog = $catalog; $this->mainConfig = $configReader->get('config'); $this->datasourceConfig = $configReader->get('datasources'); $this->configReader = $configReader; $this->renderer = $renderer; $this->translator = $translator; $this->urlHelper = $renderer->plugin('url'); $this->recordLoader = $recordLoader; $this->hmac = $hmac; $this->serviceManager = $serviceManager; }