/** * This method return a ViewReference for a View. * * @param View $view * * @throws \Exception * * @return ViewReference */ public function findReferenceByView(View $view) { $referenceId = ViewReferenceHelper::generateViewReferenceId($view); $reference = $this->getOneReferenceByParameters(['id' => $referenceId], false); $transformer = $this->transformer->getViewReferenceTransformer((string) $reference['viewNamespace'], 'array'); return $transformer->transform($reference); }
/** * {@inheritdoc} */ public function buildReference(View $view, EntityManager $em) { $referenceId = ViewReferenceHelper::generateViewReferenceId($view); $viewReference = new ViewReference(); $viewReference->setId($referenceId); $viewReference->setLocale($view->getLocale()); $viewReference->setName($view->getName()); $viewReference->setViewId($view->getId()); $viewReference->setSlug($view->getSlug()); $viewReference->setViewNamespace($em->getClassMetadata(get_class($view))->name); return $viewReference; }
public function findBusinessPages($tree) { $businessPages = []; foreach ($tree as $view) { if ($view instanceof BusinessPage) { $businessPages[ViewReferenceHelper::generateViewReferenceId($view, $view->getBusinessEntity())] = $view; } if ($view->hasChildren()) { self::findBusinessPages($view->getChildren()); } } return $businessPages; }
/** * @param BusinessPage $businessPage * @param EntityManager $em * * @return BusinessPageReference|ViewReference */ public function buildReference(View $businessPage, EntityManager $em) { $referenceId = ViewReferenceHelper::generateViewReferenceId($businessPage); $businessPageReference = new BusinessPageReference(); $businessPageReference->setId($referenceId); $businessPageReference->setLocale($businessPage->getLocale()); $businessPageReference->setName($businessPage->getName()); $businessPageReference->setViewId($businessPage->getId()); $businessPageReference->setTemplateId($businessPage->getTemplate()->getId()); $businessPageReference->setSlug($businessPage->getStaticUrl() != '' ? $businessPage->getStaticUrl() : $businessPage->getSlug()); $businessPageReference->setEntityId($businessPage->getBusinessEntity()->getId()); $businessPageReference->setEntityNamespace($em->getClassMetadata(get_class($businessPage->getBusinessEntity()))->name); $businessPageReference->setViewNamespace($em->getClassMetadata(get_class($businessPage))->name); return $businessPageReference; }
/** * {@inheritdoc} */ public function buildReference(View $view, EntityManager $em) { /* @var Page $view */ $referenceId = ViewReferenceHelper::generateViewReferenceId($view); $viewReference = new ViewReference(); $viewReference->setId($referenceId); $viewReference->setLocale($view->getCurrentLocale()); $viewReference->setName($view->getName()); $viewReference->setViewId($view->getId()); $viewReference->setSlug($view->isHomepage() ? '' : $view->getSlug()); $viewReference->setViewNamespace(ClassUtils::getClass($view)); if ($parent = $view->getParent()) { $parent->translate($view->getCurrentLocale()); $viewReference->setParent(ViewReferenceHelper::generateViewReferenceId($parent)); } return $viewReference; }