Пример #1
0
 public function getAttachedParent($presenter, $parentTreeNodeId)
 {
     $pageManager = $presenter->pageManagerService;
     if ($parentTreeNodeId === 0) {
         return $presenter['pages'];
     } else {
         if ($pageManager->pageExists($parentTreeNodeId)) {
             // !! searching without ghosts and without timeZones
             $params = array('treeNodeId' => $parentTreeNodeId, 'lang' => $this->_lang);
             return $pageManager->getPage($params);
         } else {
             // parent is not connected and parent is not root
             // connected parent is needed
             $row = $presenter->pageModel->loadParent($parentTreeNodeId);
             //            dump($row);
             //            die();
             $parent = new CMSPage($this->context, $parentTreeNodeId);
             $parent->setAsBubbleLoaded();
             $superParent = $this->getAttachedParent($presenter, $row['parent']);
             $superParent->addComponent($parent, 'page' . $parent->treeNodeId);
             $pageManager->indexPage($parent);
             return $parent;
         }
     }
 }