/** * Главная страница - Список материалов * * @return void */ public function indexAction() { $this->view->assign('Header', $this->_translate->_('Список ' . (empty($this->ModuleInfo) ? 'материалов сайта' : $this->ModuleInfo['genetivename']))); $section = isset($this->_params['section']) ? $this->_params['section'] : 'index'; $options = $this->Resource->getGridOptions($section); if ($this->_request->isXmlHttpRequest()) { $rows = $this->Resource->getResourcesList($this->_params); $paginator = $this->Resource->getPaginator(); $this->_helper->json(Phorm_JQuery_DataGrid::data($rows, $paginator, $options + $this->_params)); // В параметрах есть id модуля по которому можно подрезать список разделов в Phorm_JQuery_DataGrid::data } else { $this->view->assign('ResourceDataTable', $this->view->DataGrid('ResourceDataTable', $options)); } }
/** * Браузер материалов сайта * * @return void */ public function resourcesAction() { $this->Resource = new Phorm_Resource(); $options = Phorm_Config::xml('grids/control/browser.xml', 'resources'); if ($this->_request->isXmlHttpRequest()) { $categories = $this->Resource->getCategoriesPathsByModule(); foreach ($categories as $category) { $options['headings']['categoryid']['optiondata'][] = array('categoryid' => $category['categoryid'], 'categoryname' => str_repeat(' ', $category['clevel'] * 3) . $category['categoryname']); } //$options['headings']['categoryid']['optiondata'] = $this->Resource->getCategoriesListByModule(); //$options['headings']['categoryid']['optiondata'] = $categories; $rows = $this->Resource->getResourcesList($this->_params); $paginator = $this->Resource->getPaginator(); $this->_helper->json(Phorm_JQuery_DataGrid::data($rows, $paginator, $options)); } else { $this->view->assign('ResourcesDataTable', $this->view->DataGrid('ResourcesDataTable', $options)); } }
public function getData($widgetid) { // Определяем количество возвращаемых строк if (isset($this->_options["rowsperpage"]) && (int) $this->_options["rowsperpage"] > 0) { $this->_options["rowsperpage"] = (int) $this->_options["rowsperpage"]; } else { $this->_options["rowsperpage"] = $this->getPerPage(); } // Получаем список материалов $Resource = new Phorm_Resource(); $Resource->setModule($this->_params["module"]); $out = array(); $out["resources"] = $Resource->getResourcesList($this->_options + array("widgetid" => $widgetid, "getdepends" => true)); $out["paginator"] = $Resource->getPaginator(array("perpage" => $this->_options["rowsperpage"], "widgetid" => $widgetid)); return $out; }
/** * Возвращает список материалов по тегу * * @param int $tagid Id тега * * @return array */ public function getSearchResults($tagid) { $Resource = new Phorm_Resource(); return $Resource->getResourcesList(array("tags" => array($tagid))); }