public function getPageTree() { $language = ipContent()->getCurrentLanguage(); $sitemap = array(array('text' => $language->getAbbreviation(), 'type' => 'language', 'icon' => 'fa fa-flag-o', 'state' => array('opened' => true), 'children' => array())); $menuList = \Ip\Internal\Pages\Model::getMenuList($language->getCode()); foreach ($menuList as $menu) { $page = ipPage($menu['id']); $children = array('text' => $menu['title'], 'icon' => 'fa fa-folder-o', 'li_attr' => (object) array('data-url' => $page->getLink()), 'children' => array()); foreach ($page->getChildren() as $child) { $children['children'][] = $this->_addPageToTree($child); } $sitemap[0]['children'][] = $children; } $data = array('status' => 'success', 'sitemap' => $sitemap); return new \Ip\Response\Json($data); }