protected function _getNodeJson(Bubble_CmsTree_Model_Cms_Page $page) { $item = array(); $selres = $this->getSelectedResources(); $item['text'] = $page->getTitle(); $item['sort_order'] = $page->getPosition(); $item['id'] = $page->getId(); if (in_array($item['id'], $selres)) { $item['checked'] = true; } $children = $page->getChildren(); if (empty($children)) { return $item; } if ($children) { $item['children'] = array(); foreach ($children as $child) { $item['children'][] = $this->_getNodeJson($child); } if (!empty($item['children'])) { usort($item['children'], array($this, '_sortTree')); } } return $item; }
public function addChildrenFilter(Bubble_CmsTree_Model_Cms_Page $page) { $this->setOrder('position', Varien_Data_Collection::SORT_ORDER_ASC); $this->getSelect()->where('main_table.store_id = ?', $page->getStoreId())->where('main_table.parent_id = ?', $page->getId()); $currentStoreId = Mage::app()->getStore()->getId(); if ($page->getStoreId() == 0 && $currentStoreId) { $this->getSelect()->join(array('stores' => $this->getTable('cms/page_store')), 'main_table.page_id = stores.page_id', '')->where('stores.store_id = ?', $currentStoreId); } return $this; }