/** * Get a view helper from the manager. * * @param string $name * @return TranslatorInterface */ protected function getViewHelper($name) { if (!$this->viewHelperManager instanceof HelperPluginManager) { $this->viewHelperManager = $this->getServiceLocator()->get('ViewHelperManager'); } return $this->viewHelperManager->get($name); }
/** * applies view helpers * * @todo refactor * @param MvcEvent $e * @return LayoutModifierListener */ public function applyViewHelpers(EventInterface $e) { $viewHelperInstructions = $this->updater->getLayoutStructure()->get(LayoutUpdaterInterface::INSTRUCTION_VIEW_HELPERS); if ($viewHelperInstructions instanceof Config) { $viewHelperInstructions = $viewHelperInstructions->toArray(); } foreach ($this->helperConfig as $helper => $config) { if (!isset($viewHelperInstructions[$helper])) { continue; } $defaultMethod = isset($config['default_method']) ? $config['default_method'] : '__invoke'; $viewHelper = $this->viewHelperManager->get($helper); $viewHelperInstructions[$helper] = (array) $viewHelperInstructions[$helper]; foreach ($viewHelperInstructions[$helper] as $value) { if (!$value) { continue; } $value = (array) $value; $method = $this->getHelperMethod($value, $defaultMethod, $viewHelper); $args = isset($value['args']) ? (array) $value['args'] : array_values($value); $args[0] = $this->prepareHelperValue($args[0], $helper); call_user_func_array([$viewHelper, $method], $args); } } return $this; }
/** * Invoke helper manager * * @param string $name * @param array $arguments * @return mixed */ public function __call($name, array $arguments = null) { if (null === $arguments) { return $this->helperManager->get($name); } return call_user_func_array(array($this->helperManager->get($name), '__invoke'), $arguments); }
/** * @return Identity */ protected function getIdentityHelper() { if (!$this->identityHelper instanceof Identity) { $identity = $this->serviceLocator->get('identity'); $this->identityHelper = $identity; } return $this->identityHelper; }
public function __call($method, $argv) { $helper = $this->pluginManager->get($method); if (is_callable($helper)) { return call_user_func_array($helper, $argv); } return helper; }
/** * Format a date. * * If PHP's intl extension is not loaded, this helper will fall back on a * predefined date and time format. * * @param DateTime $date * @param string $dateType Use local DATE_FORMAT_* constants, not their * corresponding constants in IntlDateFormatter. * @param string $timeType Use local DATE_FORMAT_* constants, not their * corresponding constants in IntlDateFormatter. * @param string|null $locale Optional locale to use when formatting or * parsing. Ignored when intl extension is not loaded. * @param string|null $pattern Optional pattern to use when formatting or * parsing. Possible patterns are documented at * {@link http://userguide.icu-project.org/formatparse/datetime}. * Ignored when intl extension is not loaded. * @return string */ public function dateFormat(DateTime $date = null, $dateType = self::DATE_FORMAT_MEDIUM, $timeType = self::DATE_FORMAT_NONE, $locale = null, $pattern = null) { if (!$date) { return null; } if (extension_loaded('intl')) { // Map local constants to those in IntlDateFormatter. $constMap = [self::DATE_FORMAT_NONE => \IntlDateFormatter::NONE, self::DATE_FORMAT_FULL => \IntlDateFormatter::FULL, self::DATE_FORMAT_LONG => \IntlDateFormatter::LONG, self::DATE_FORMAT_MEDIUM => \IntlDateFormatter::MEDIUM, self::DATE_FORMAT_SHORT => \IntlDateFormatter::SHORT]; $dateType = array_key_exists($dateType, $constMap) ? $constMap[$dateType] : \IntlDateFormatter::MEDIUM; $timeType = array_key_exists($timeType, $constMap) ? $constMap[$timeType] : \IntlDateFormatter::NONE; // Proxy to Zend's dateFormat helper. $dateFormat = $this->viewHelperManager->get('dateFormat'); return $dateFormat($date, $dateType, $timeType, $locale, $pattern); } // Set the date format. $dateFormat = ''; switch ($dateType) { case self::DATE_FORMAT_NONE: break; case self::DATE_FORMAT_FULL: $dateFormat .= 'l, F j, Y'; break; case self::DATE_FORMAT_LONG: $dateFormat .= 'F j, Y'; break; case self::DATE_FORMAT_SHORT: $dateFormat .= 'n/j/y'; break; case self::DATE_FORMAT_MEDIUM: default: $dateFormat .= 'M j, Y'; break; } // Set the time format. $timeFormat = ''; switch ($timeType) { case self::DATE_FORMAT_FULL: $timeFormat .= 'g:i:sa T'; break; case self::DATE_FORMAT_LONG: $timeFormat .= 'g:i:sa'; break; case self::DATE_FORMAT_MEDIUM: $timeFormat .= 'g:ia'; break; case self::DATE_FORMAT_SHORT: $timeFormat .= 'g:ia'; break; case self::DATE_FORMAT_NONE: default: break; } return $date->format(trim("{$dateFormat} {$timeFormat}")); }
public function perform_do($args) { $name = array_shift($args); if (is_string($name) == false) { return null; } if ($this->helpers->has($name) == false) { return null; } call_user_func_array($this->helpers->get($name), $args); }
/** * A test class of instance */ public function testInstance() { $moduleConfig = (require __DIR__ . '/../../../config/module.config.php'); $serviceManager = new ServiceManager($moduleConfig['service_manager']); $helperPluginManager = new HelperPluginManager($serviceManager, $moduleConfig['view_helpers']); $signInForm = new SignInForm(); $formBuilderHelper1 = $helperPluginManager->get('formBuilder'); $formBuilderHelper1()->setToken('test token 1'); $this->assertInstanceOf(FormBuilder::class, $formBuilderHelper1()); $formBuilderHelper2 = $helperPluginManager->get(FormBuilderHelper::class); $formBuilderHelper2()->setToken('test token 2'); $this->assertInstanceOf(FormBuilder::class, $formBuilderHelper2($signInForm)); $this->assertNotEquals($formBuilderHelper1(), $formBuilderHelper2()); }
/** * Test if the helper is properly registered with the service manager */ public function testHelperService() { // Uppercase $this->assertInstanceOf(static::_getHelperClass(), static::$_helperManager->get($this->_getHelperName())); // Lowercase $this->assertInstanceOf(static::_getHelperClass(), static::$_helperManager->get(lcfirst($this->_getHelperName()))); }
/** * Retrieve a service from the manager by name * * Allows passing an array of options to use when creating the instance. * createFromInvokable() will use these and pass them to the instance * constructor if not null and a non-empty array. * * @param string $name * @param array $options * @param bool $usePeeringServiceManagers * @return Helper\HelperInterface */ public function get($name, $options = array(), $usePeeringServiceManagers = true) { // Canonize invokable class from name if (!$this->has($name) && !class_exists($name)) { // Lookup in default invokable list $cname = strtolower(str_replace(array('-', '_', ' ', '\\', '/'), '', $name)); if (isset($this->invokableList[$cname])) { $invokableClass = 'Pi\\' . $this->invokableList[$cname]; if (!class_exists($invokableClass)) { $invokableClass = 'Zend\\' . $this->invokableList[$cname]; } $name = $invokableClass; // Lookup in helper locations } else { $class = str_replace(' ', '', ucwords(str_replace(array('-', '_', '.', '\\', '/'), ' ', $name))); foreach ($this->helperLocations as $location) { $invokableClass = 'Pi\\' . $location . '\\' . $class; if (class_exists($invokableClass)) { $name = $invokableClass; break; } else { $invokableClass = 'Zend\\' . $location . '\\' . $class; if (class_exists($invokableClass)) { $name = $invokableClass; break; } } } } } return parent::get($name, $options, $usePeeringServiceManagers); }
/** * @return null|string */ public function parseCountryMap() { $mapOptions = ['clickable' => true, 'colorMin' => $this->getModuleOptions()->getCountryColorFaded(), 'colorMax' => $this->getModuleOptions()->getCountryColor(), 'focusOn' => ['x' => 0.5, 'y' => 0.5, 'scale' => 1.1], 'height' => '340px']; /** * @var $countryMap CountryMap */ $countryMap = $this->serviceLocator->get('countryMap'); return $countryMap([$this->getCountry()], null, $mapOptions); }
/** * Provides access to view helpers. * * @param string $method * @param array $args * @return mixed */ public function __call($method, $args) { if (!isset($this->_helperCache[$method])) { $helper = $this->_helperManager->get($method); $helper->setView($this); $this->_helperCache[$method] = $helper; } return call_user_func_array($this->_helperCache[$method], $args); }
/** * This function produces the link in the end * * @return string */ public function createImageUrl() { /** * @var $url Url */ $url = $this->serviceLocator->get('url'); /** * @var $config array */ $config = $this->serviceLocator->getServiceLocator()->get('config'); $cdn = null; if (isset($config['cdn']) && $config['cdn']['enable']) { $cdn = $config['cdn']['address']; } $imageUrl = '<img src="%s%s" id="%s" class="%s" %s>'; $image = sprintf($imageUrl, $cdn, $url($this->router, $this->routerParams), $this->imageId, implode(' ', $this->classes), is_null($this->height) ? null : ' height="' . $this->height . 'px"'); if (!$this->lightBox) { return $image; } else { return '<a href="' . $url($this->router, $this->routerParams) . '" data-lightbox="itea">' . $image . '</a>'; } }
/** * createService * * Create the form group helper. * * @param HelperPluginManager $viewHelperManager The view helper plugin manager. * @param string $name The name of the service to create. * @param string $requestedName The requested name of the service to create. * * @return FormGroup */ public function __invoke(HelperPluginManager $viewHelperManager, $name, $requestedName) { /** @var ServiceManager $serviceManager */ $serviceManager = $viewHelperManager->getServiceLocator(); $options = $this->getOptions($serviceManager, $requestedName); $formRowHelper = $this->defaultRowHelper; if (!empty($options['form_row_helper'])) { $formRowHelper = $options['form_row_helper']; } /** @var FormRow $formRow */ $formRow = $viewHelperManager->get($formRowHelper); return new FormGroup($formRow); }
public function testGenerateViewHelpers() { $config = (new Module())->getConfig(); $helperPluginManager = new HelperPluginManager(); $helperPluginManager->setServiceLocator(new ServiceManager()); $filterManager = new FilterPluginManager(); $basePath = $helperPluginManager->get('basePath'); $basePath->setBasePath('/assets'); $basePathFilter = new BasePathFilter($basePath); $filterManager->setService('basePath', $basePathFilter); $cacheBusterFilter = new CacheBusterFilter(__DIR__ . '/_files'); $filterManager->setService('cacheBuster', $cacheBusterFilter); $generator = new ViewHelperGenerator($filterManager, $helperPluginManager, $config['con-layout']['view_helpers']); $renderer = new PhpRenderer(); $renderer->setHelperPluginManager($helperPluginManager); /* @var $headLink HeadLink */ $headLink = $helperPluginManager->get('headLink'); $headLinkProxy = new HeadLinkProxy($headLink); $helperPluginManager->setService(get_class($headLinkProxy), $headLinkProxy); /* @var $headScript HeadScript */ $headScript = $helperPluginManager->get('headScript'); $headScriptProxy = new HeadScriptProxy($headScript); $helperPluginManager->setService(get_class($headScriptProxy), $headScriptProxy); /* @var $doctype Doctype */ $doctype = $helperPluginManager->get('doctype'); $doctype('HTML5'); /* @var $headTitle HeadTitle */ $headTitle = $helperPluginManager->get('headTitle'); $headTitleProxy = new HeadTitleProxy($headTitle); $helperPluginManager->setService(get_class($headTitleProxy), $headTitleProxy); /* @var $headMeta HeadMeta */ $headMeta = $helperPluginManager->get('headMeta'); $headMetaProxy = new HeadMetaProxy($headMeta); $helperPluginManager->setService(get_class($headMetaProxy), $headMetaProxy); $headMeta->setView($renderer); $generator->generate($this->getLayoutStructure()); foreach (['/assets/css/test.css', '/assets/css/main.css'] as $expected) { $this->assertContains($expected, $headLink->toString()); } foreach (['jquery.min.js', 'jquery-ui.min.js'] as $expected) { $this->assertContains($expected, $headScript->toString()); } $this->assertEquals('<!DOCTYPE html>', (string) $doctype); $headTitle->setSeparator(' | '); $expected = 'First | My Title | Another Title'; $this->assertContains($expected, $headTitle->toString()); $contains = ['charset="utf8"', 'name="description" content="My description"', 'name="keywords" content="keyword1, keyword2, keyword3"']; foreach ($contains as $expected) { $this->assertContains($expected, $headMeta->toString()); } }
protected function _render($nameOrModel, $values = null) { if ($nameOrModel->isEntity()) { $helper = $this->helpers->get('Hal'); $payload = $helper->renderEntity($nameOrModel->getPayload()); } if ($nameOrModel->isCollection()) { $helper = $this->getHelperPluginManager()->get('Hal'); $payload = $helper->renderCollection($nameOrModel->getPayload()); if ($payload instanceof ApiProblem) { return $this->renderApiProblem($payload); } } return $nameOrModel->serialize(); }
/** * @param OrganisationService $organisationService * * @return string */ public function parseOrganisationMap(OrganisationService $organisationService) { /* * Collect the list of countries from the organisation and cluster */ $countries = [$organisationService->getOrganisation()->getCountry()]; foreach ($organisationService->getOrganisation()->getClusterMember() as $cluster) { $countries[] = $cluster->getOrganisation()->getCountry(); } $options = $this->getModuleOptions(); $mapOptions = ['clickable' => true, 'colorMin' => $options->getCountryColorFaded(), 'colorMax' => $options->getCountryColor(), 'focusOn' => ['x' => 0.5, 'y' => 0.5, 'scale' => 1.1], 'height' => '340px']; /** * @var CountryMap */ $countryMap = $this->serviceLocator->get('countryMap'); return $countryMap->__invoke($countries, null, $mapOptions); }
/** * {@inheritDoc} */ public function render($nameOrModel, $values = null) { /** @var \Zend\View\Helper\ViewModel $viewModelHelper */ $viewModelHelper = $this->helperPluginManager->get('viewModel'); // Because templates can be rendered recursively, we need to save the current context $previousViewModel = $viewModelHelper->getCurrent(); $template = $this->resolver->resolve($nameOrModel->getTemplate()); if (!$template) { throw new Exception\RuntimeException(sprintf('%s: Unable to render template "%s"; resolver could not resolve to a file', __METHOD__, $nameOrModel->getTemplate())); } // We need to save and restore the previous variables, because the same renderer can be used inside // multiple contexts $viewModelHelper->setCurrent($nameOrModel); $this->templateVariables = $nameOrModel->getVariables(); $result = (include $template); // Restore the previous context $this->templateVariables = $previousViewModel->getVariables(); $viewModelHelper->setCurrent($previousViewModel); return $result; }
/** * Render a view model * * If the view model is a HalJsonRenderer, determines if it represents * a Collection or Entity, and, if so, creates a custom * representation appropriate to the type. * * If not, it passes control to the parent to render. * * @param mixed $nameOrModel * @param mixed $values * @return string */ public function render($nameOrModel, $values = null) { if (!$nameOrModel instanceof JsonLDModel) { return parent::render($nameOrModel, $values); } if ($nameOrModel->isEntity()) { $helper = $this->helpers->get('JsonLD'); $payload = $helper->renderEntity($nameOrModel->getPayload()); return parent::render($payload); } if ($nameOrModel->isCollection()) { $helper = $this->helpers->get('JsonLD'); $payload = $helper->renderCollection($nameOrModel->getPayload()); if ($payload instanceof ApiProblem) { return $this->renderApiProblem($payload); } return parent::render($payload); } return parent::render($nameOrModel, $values); }
/** * @param $className * * @return object * @throws \Exception */ private function buildGraph($className) { if ($this->enableObjectGraphDebug) { echo 'Building an object from the class: ' . $className . "<br />"; } try { $reflection = new \ReflectionClass($className); } catch (\Exception $e) { if ($this->enableObjectGraphDebug) { echo 'Could not build a reflection class for ' . $className . "<br />"; } return false; } if (!$reflection->getConstructor()) { if ($this->enableObjectGraphDebug) { echo 'We have build an object for class ' . $className . "<br />"; } return new $className(); } $constructorParameters = $reflection->getConstructor()->getParameters(); $dependencies = []; foreach ($constructorParameters as $param) { try { $paramClassName = $param->getClass(); } catch (\Exception $e) { throw new \Exception('Could not create dependency class "' . $param->getName() . '" for the currently building class: ' . $className); } if (!$paramClassName) { switch (true) { case $this->controllerPluginManager->has($param->name, false): if ($this->enableObjectGraphDebug) { echo 'The parameter "' . $param->name . '" exists in Controller Manager' . "<br />"; } $dependencies[] = $this->controllerPluginManager->get($param->name); break; case $this->serviceManager->has($param->name, false): if ($this->enableObjectGraphDebug) { echo 'The parameter "' . $param->name . '" exists in Service Manager' . "<br />"; } $dependencies[] = $this->serviceManager->get($param->name); break; default: if ($param->isOptional()) { $dependencies[] = $param->getDefaultValue(); } else { if ($this->enableObjectGraphDebug) { echo 'The parameter "' . $param->name . '" does not exist in (any) Service Manager' . "<br />"; } echo 'The parameter "' . $param->name . '" does not exist in the Service Manager' . "<br />"; die; } break; } } else { if ($this->enableObjectGraphDebug) { echo 'Does the SM have an object for ' . $param->getClass()->name . "<br />"; } switch (true) { case $this->controllerPluginManager->has($param->getClass()->name, false, false): if ($this->enableObjectGraphDebug) { echo 'It does in the Controller Plugin Manager' . "<br />"; } $dependencies[] = $this->controllerPluginManager->get($param->getClass()->name); break; case $this->viewHelperManager->has($param->getClass()->name, false, false): if ($this->enableObjectGraphDebug) { echo 'It does in the View Helper Manager' . "<br />"; } $dependencies[] = $this->viewHelperManager->get($param->getClass()->name); break; case $this->formElementManager->has($param->getClass()->name, false, false): if ($this->enableObjectGraphDebug) { echo 'It does in the Form Element Manager' . "<br />"; } $dependencies[] = $this->formElementManager->get($param->getClass()->name); break; case $this->serviceManager->has($param->getClass()->name, false, false): if ($this->enableObjectGraphDebug) { echo 'It does in the Service Manager' . "<br />"; } $name = $param->getClass()->name; if ($this->serviceManager->hasAlias($name)) { $config = $this->serviceManager->get('config')['service_manager']; $name = $config['aliases'][$name]; } $dependencies[] = $this->serviceManager->get($name); break; default: if ($this->enableObjectGraphDebug) { echo 'No it It does not have an object' . "<br />"; } if ($param->getClass()->isInterface()) { continue; } $dependencies[] = $this->buildGraph($param->getClass()->name); break; } } } $instance = $reflection->newInstanceArgs($dependencies); if (in_array($className, $this->serviceManager->get('config')['service_manager']['shared'])) { $this->serviceManager->setAllowOverride(true); $this->serviceManager->setService($className, $instance); $this->serviceManager->setAllowOverride(false); } if ($this->enableObjectGraphDebug) { echo 'We have build an object for class ' . $className . "<br />"; } if ($this->enableObjectGraphDebug) { echo ' ==== ' . "<br />"; } return $instance; }
public function testCanDisplayListOfMessagesCustomisedByConfig() { $this->seedMessages(); $config = array( 'view_helper_config' => array( 'flashmessenger' => array( 'message_open_format' => '<div%s><ul><li>', 'message_separator_string' => '</li><li>', 'message_close_string' => '</li></ul></div>', ), ), ); $sm = new ServiceManager(); $sm->setService('Config', $config); $helperPluginManager = new HelperPluginManager(new Config(array( 'factories' => array( 'flashmessenger' => 'Zend\View\Helper\Service\FlashMessengerFactory', ), ))); $controllerPluginManager = new PluginManager(new Config(array( 'invokables' => array( 'flashmessenger' => 'Zend\Mvc\Controller\Plugin\FlashMessenger', ), ))); $helperPluginManager->setServiceLocator($sm); $controllerPluginManager->setServiceLocator($sm); $sm->setService('ControllerPluginManager', $controllerPluginManager); $helper = $helperPluginManager->get('flashmessenger'); $displayInfoAssertion = '<div class="info"><ul><li>bar-info</li></ul></div>'; $displayInfo = $helper->render(PluginFlashMessenger::NAMESPACE_INFO); $this->assertEquals($displayInfoAssertion, $displayInfo); }
/** * @param Country $country * @param int $width * * @return string */ public function getCountryFlag(Country $country, $width) { return $this->serviceLocator->get('countryFlag')->__invoke($country, $width); }
/** * Inject the helper manager with the Hal helper * * @param HelperPluginManager $helpers */ protected function injectHalHelper(HelperPluginManager $helpers) { $helper = new HalHelper(); $helper->setView($this); $helper->setServerUrlHelper($helpers->get('ServerUrl')); $helper->setUrlHelper($helpers->get('Url')); $helpers->setService('Hal', $helper); }
public function __call($name, $args) { return call_user_func_array($this->helpers->get($name), $args); }
/** * @param ProjectService $projectService * * @return string */ public function parseDocuments(ProjectService $projectService) { /* * Go over each of the items to create the order */ $documents = []; $workpackageDocuments = []; /* * @var ResultLink */ $resultLink = $this->serviceLocator->get('resultLink'); /* * @var WorkpackageDocumentLink */ $workpackageDocumentLink = $this->serviceLocator->get('workpackageDocumentLink'); /* * @var PosterLink */ $posterLink = $this->serviceLocator->get('posterLink'); /* * @var ArticleLink */ $articleLink = $this->serviceLocator->get('articleLink'); /* * @var ArticleTypeIcon */ $articleTypeIcon = $this->serviceLocator->get('articleTypeIcon'); /* * @var ContentTypeIcon */ $contentTypeIcon = $this->serviceLocator->get('contentTypeIcon'); /* * @var NewsLink */ $newsLink = $this->serviceLocator->get('newsLink'); /* * @var PressArticleLink */ $pressArticleLink = $this->serviceLocator->get('pressArticleLink'); /* * Grab all the public results */ foreach ($projectService->findPublicResults() as $result) { //Generate a key for sorting $key = 'label-' . $result->getType()->parseCssName() . '-' . $result->getResult(); $documents[$key]['label'] = '<span class="label label-' . $result->getType()->parseCssName() . '"> <span class="glyphicon glyphicon-file" title="' . $result->getType() . '"></span> </span> '; $documents[$key]['document'] = $resultLink($result, 'download', 'public-name') . ' <i class="fa fa-download itea"></i>'; } /* * Grab all the workpackage documents */ foreach ($projectService->findPublicWorkpackageDocuments() as $workpackageDocument) { /* * Check first if the Link has a length (and if the user has access) */ $workpackageDocumentLinkResult = $workpackageDocumentLink($workpackageDocument, 'download', 'no_underscore_filename'); if (!empty($workpackageDocumentLinkResult)) { //Generate a key for sorting $key = 'label-article-type-work-package-documents-' . $workpackageDocument->getDocument(); $workpackageDocuments[$key]['label'] = '<span class="label label-article-type-work-package-documents">' . '<span class="glyphicon glyphicon-file"></span></span>'; $workpackageDocuments[$key]['document'] = sprintf("%s %s %s", $contentTypeIcon($workpackageDocument->getContentType()), $workpackageDocumentLinkResult, ' <i class="fa fa-download itea"></i>'); } } /* * Grab the posters */ foreach ($projectService->findFinalPosters() as $poster) { //Generate a key for sorting $key = 'label-article-type-poster-' . $poster->getProject(); $documents[$key]['label'] = '<span class="label label-article-type-poster"><span class="glyphicon glyphicon-file"></span></span>'; $documents[$key]['document'] = $posterLink($poster, 'download', 'public-name') . ' <i class="fa fa-download itea"></i>'; } /* * Iterate over all press articles */ foreach ($projectService->getProject()->getArticle() as $article) { if ($article->getType()->getShowInList() === ArticleType::SHOW_IN_LIST_YES) { //Generate a key for sorting $key = 'label-' . $article->getType()->parseCssName() . '-' . $article->getArticle(); $documents[$key]['label'] = $articleTypeIcon($article->getType()); $documents[$key]['document'] = $articleLink($article, 'view-public', 'name'); } } /* * Iterate over all news articles */ $articleType = $this->getContentService()->findEntityById('articleType', ArticleType::TYPE_NEWS); foreach ($projectService->getProject()->getNews() as $news) { //Generate a key for sorting $key = 'label-' . $articleType->parseCssName() . '-' . $news->getNews(); $documents[$key]['label'] = $articleTypeIcon($articleType); $documents[$key]['document'] = $newsLink($news, 'view', 'name'); } /* * Iterate over all press articles */ $articleType = $this->getContentService()->findEntityById('articleType', ArticleType::TYPE_PRESS); foreach ($projectService->getProject()->getPressArticle() as $pressArticle) { $key = 'label-' . $articleType->parseCssName() . '-' . $pressArticle->getArticle(); $documents[$key]['label'] = $articleTypeIcon($articleType); $documents[$key]['document'] = $pressArticleLink($pressArticle, 'view', 'name'); } ksort($documents); ksort($workpackageDocuments); return $this->getZfcTwigRenderer()->render('project/partial/list/document', ['documents' => $documents, 'workpackageDocuments' => $workpackageDocuments]); }
/** * Invoke helper manager * * @param string $name * @param array $arguments * @return mixed */ public function __call($name, $arguments) { return call_user_func_array(array($this->helperManager->get($name), '__invoke'), $arguments); }
/** * @param $string * * @return string */ public function translate($string) { return $this->serviceLocator->get('translate')->__invoke($string); }
/** * @param string $router * @param array $params * * @return Url */ public function getUrl($router, array $params) { return $this->serviceLocator->get('url')->__invoke($router, $params); }
public function setUpHelpers() { // need to setup routes // need to get a url and serverurl helper that have appropriate injections $this->router = $router = new TreeRouteStack(); $this->entityRoute = new Segment('/resource[/[:id]]'); $this->router->addRoute('resource', $this->entityRoute); $this->helpers = $helpers = new HelperPluginManager(); $serverUrl = $helpers->get('ServerUrl'); $url = $helpers->get('url'); $url->setRouter($router); $serverUrl->setScheme('http'); $serverUrl->setHost('localhost.localdomain'); $halLinks = new HalHelper(); $halLinks->setServerUrlHelper($serverUrl); $halLinks->setUrlHelper($url); $helpers->setService('Hal', $halLinks); $this->renderer->setHelperPluginManager($helpers); }
/** * @param string $name * @return AbstractHelper */ public function getPlugin($name) { return $this->hpm->get($name); }