public function match(View $view) { if (!$view instanceof LocationValueView) { return false; } return isset($this->values[$view->getLocation()->remoteId]); }
public function match(View $view) { if (!$view instanceof LocationValueView) { return false; } return $this->matchLocation($view->getLocation()); }
public function match(View $view) { if (!$view instanceof LocationValueView) { return false; } $parent = $this->loadParentLocation($view->getLocation()->parentLocationId); return isset($this->values[$parent->getContentInfo()->contentTypeId]); }
public function match(View $view) { if ($view instanceof LocationValueView) { return $this->matchLocation($view->getLocation()); } if ($view instanceof ContentValueView) { return $this->matchContentInfo($view->getContent()->contentInfo); } return false; }
/** * Returns a ContentView object corresponding to location found within $view. * Will basically run content/view legacy module with appropriate parameters. * * @param \eZ\Publish\Core\MVC\Symfony\View\View $view * * @return \eZ\Publish\Core\MVC\Symfony\View\ContentView|void */ public function getView(View $view) { if (!$view instanceof ContentView || !$view->getLocation() instanceof APILocation) { return null; } $logger = $this->logger; $legacyHelper = $this->legacyHelper; $currentViewProvider = $this; $viewParameters = array(); $request = $this->getCurrentRequest(); if (isset($request)) { $viewParameters = $request->attributes->get('viewParameters', array()); } $viewType = $view->getViewType(); $location = $view->getLocation(); $legacyContentClosure = function (array $params) use($location, $viewType, $logger, $legacyHelper, $viewParameters, $currentViewProvider) { $content = isset($params['content']) ? $params['content'] : null; // Additional parameters (aka user parameters in legacy) are expected to be scalar foreach ($params as $paramName => $param) { if (!is_scalar($param)) { unset($params[$paramName]); if (isset($logger)) { $logger->notice("'{$paramName}' is not scalar, cannot pass it to legacy content module. Skipping.", array(__METHOD__)); } } } // viewbaseLayout is useless in legacy views unset($params['viewbaseLayout']); $params += $viewParameters; // Render preview or published view depending on context. if (isset($params['isPreview']) && $params['isPreview'] === true && $content instanceof APIContent) { return $currentViewProvider->renderPreview($content, $params, $legacyHelper); } else { return $currentViewProvider->renderPublishedView($location, $viewType, $params, $legacyHelper); } }; $this->decorator->setContentView(new ContentView($legacyContentClosure)); return $this->decorator; }