/**
  * Override this to do your representation of the tree.
  *
  * @param string  $title
  * @param int     $level     0-based level of the element
  * @param boolean $hasChilds are there children of this element? if yes, they will be processed in the subsequent calls.
  * @param int     $lang      language id
  * @param string  $path      path to this element, e.g. '/CatA/CatB'
  * @param boolean $current   if a $currentPage has been specified, this will be set to true if either a parent element of the current element or the current element itself is rendered.
  *
  * @return string your string representation of the element.
  */
 protected function renderElement($title, $level, $hasChilds, $lang, $path, $current, $page)
 {
     $url = (string) \Cx\Core\Routing\NodePlaceholder::fromNode($page->getNode(), null, array());
     $pages = $page->getNode()->getPages();
     $titles = array();
     foreach ($pages as $page) {
         $titles[\FWLanguage::getLanguageCodeById($page->getLang())] = $page->getTitle();
     }
     $this->return[] = array('click' => "javascript:{setUrl('{$url}',null,null,'" . \FWLanguage::getLanguageCodeById(BACKEND_LANG_ID) . $path . "','page')}", 'name' => $titles, 'extension' => 'Html', 'level' => $level - 1, 'url' => $path, 'node' => $url);
 }
Exemplo n.º 2
0
 protected function insertFixtures()
 {
     $nodeRepo = self::$em->getRepository('Cx\\Core\\ContentManager\\Model\\Entity\\Node');
     $root = $nodeRepo->getRoot();
     $n1 = new \Cx\Core\ContentManager\Model\Entity\Node();
     $n2 = new \Cx\Core\ContentManager\Model\Entity\Node();
     $n3 = new \Cx\Core\ContentManager\Model\Entity\Node();
     $n4 = new \Cx\Core\ContentManager\Model\Entity\Node();
     //redirection
     $n5 = new \Cx\Core\ContentManager\Model\Entity\Node();
     //alias
     $n1->setParent($root);
     $n2->setParent($n1);
     $n3->setParent($n2);
     $n4->setParent($root);
     $n5->setParent($root);
     $root->addChildren($n1);
     $n1->addChildren($n2);
     $n2->addChildren($n3);
     $root->addChildren($n4);
     $root->addChildren($n4);
     self::$em->persist($n1);
     self::$em->persist($n2);
     self::$em->persist($n3);
     self::$em->persist($n4);
     self::$em->flush();
     $p1 = new \Cx\Core\ContentManager\Model\Entity\Page();
     $p1->setLang(1);
     $p1->setTitle('resolver testpage1');
     $p1->setNode($n1);
     $p1->setNodeIdShadowed($n1->getId());
     $p1->setUseCustomContentForAllChannels('');
     $p1->setUseCustomApplicationTemplateForAllChannels('');
     $p1->setUseSkinForAllChannels('');
     $p1->setCmd('');
     $p1->setActive(1);
     $p4 = new \Cx\Core\ContentManager\Model\Entity\Page();
     $p4->setLang(1);
     $p4->setTitle('testpage1_child');
     $p4->setNode($n2);
     $p4->setNodeIdShadowed($n2->getId());
     $p4->setUseCustomContentForAllChannels('');
     $p4->setUseCustomApplicationTemplateForAllChannels('');
     $p4->setUseSkinForAllChannels('');
     $p4->setCmd('');
     $p4->setActive(1);
     self::$em->persist($n1);
     self::$em->persist($n2);
     self::$em->persist($p1);
     self::$em->persist($p4);
     self::$em->flush();
     self::$em->refresh($n1);
     self::$em->refresh($n2);
     $p5 = new \Cx\Core\ContentManager\Model\Entity\Page();
     $p5->setLang(1);
     $p5->setTitle('subtreeTest_target');
     $p5->setNode($n3);
     $p5->setNodeIdShadowed($n3->getId());
     $p5->setUseCustomContentForAllChannels('');
     $p5->setUseCustomApplicationTemplateForAllChannels('');
     $p5->setUseSkinForAllChannels('');
     $p5->setCmd('');
     $p5->setActive(1);
     $p6 = new \Cx\Core\ContentManager\Model\Entity\Page();
     $p6->setLang(0);
     $p6->setTitle('testalias');
     $p6->setNode($n5);
     $p6->setType(\Cx\Core\ContentManager\Model\Entity\Page::TYPE_ALIAS);
     $p6->setTarget($p4->getId() . '|1');
     $p6->setNodeIdShadowed($n5->getId());
     $p6->setUseCustomContentForAllChannels('');
     $p6->setUseCustomApplicationTemplateForAllChannels('');
     $p6->setUseSkinForAllChannels('');
     $p6->setCmd('');
     $p6->setActive(1);
     self::$em->persist($n3);
     self::$em->persist($n5);
     self::$em->persist($p5);
     self::$em->persist($p6);
     self::$em->flush();
     self::$em->refresh($n3);
     self::$em->refresh($n5);
     $p2 = new \Cx\Core\ContentManager\Model\Entity\Page();
     $p2->setLang(1);
     $p2->setType(\Cx\Core\ContentManager\Model\Entity\Page::TYPE_REDIRECT);
     $p2->setTitle('redirection');
     $p2->setNode($n4);
     $p2->setTarget(\Cx\Core\Routing\NodePlaceholder::fromNode($n2, 1, array('foo' => 'test'))->getPlaceholder());
     $p2->setNodeIdShadowed($n4->getId());
     $p2->setUseCustomContentForAllChannels('');
     $p2->setUseCustomApplicationTemplateForAllChannels('');
     $p2->setUseSkinForAllChannels('');
     $p2->setCmd('');
     $p2->setActive(1);
     self::$em->persist($p2);
     self::$em->flush();
     self::$em->refresh($n4);
     self::$em->refresh($p2);
 }