/** * @param [] $tree */ public function buildViewReferenceRecursively($tree, $entityManager) { foreach ($tree as $branch) { /** @var WebViewInterface $view */ $view = $branch['view']; $view->setReference($this->viewReferenceBuilder->buildViewReference($view, $entityManager)); if (!empty($branch['children'])) { /** @var WebViewInterface $children */ $children = $branch['children']; $this->buildViewReferenceRecursively($children, $entityManager); } } }
/** * @param [] $tree */ public function buildViewReferenceRecursively($tree, EntityManager $entityManager, $isRoot = true) { foreach ($tree as $branch) { /** @var View $view */ $view = $branch['view']; /** @var ViewTranslation $translation */ foreach ($view->getTranslations() as $translation) { if (true === $isRoot || $translation->getLocale() == $view->getParent()->getCurrentLocale()) { $view->setCurrentLocale($translation->getLocale()); $viewReference = $this->viewReferenceBuilder->buildViewReference($view, $entityManager); if (!empty($branch['children'])) { /** @var WebViewInterface $children */ $children = $branch['children']; $this->buildViewReferenceRecursively($children, $entityManager, false); } $view->setReference($viewReference, $translation->getLocale()); } } } }