/** * действие index (список новостей) */ public function indexAction() { //получаем массив параметров запроса $request = $this->getRequest(); $params = $request->getParams(); // подключаем модель списка новостей $list = new Application_Model_NewsList(); $pageSize = Zend_Registry::get('page_size'); $page = isset($params['page']) ? $params['page'] : 1; //делаем выборку данных $list->fillLatest($page); $data = $list->getList(); //настраиваем постраничную навигацию $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($list->getCount())); $paginator->setItemCountPerPage($pageSize); $paginator->setCurrentPageNumber($page); $this->view->list = $data; $this->view->paginator = $paginator; }
/** * действие index (список новостей) */ public function indexAction() { //получаем параметры запроса $request = $this->getRequest(); $params = $request->getParams(); //подключаем модели $list = new Application_Model_NewsList(); //список новостей $yearMenu = new Application_Model_YearMenu(); //меню по дате $yearMenu->fillItems(); $yearMenuData = $yearMenu->getItems(); $themeMenu = new Application_Model_ThemeMenu(); //меню по темам $themeMenu->fillItems(); $themeMenuData = $themeMenu->getItems(); //параметры страницы $pageSize = Zend_Registry::get('page_size'); $page = isset($params['page']) ? $params['page'] : 1; if (isset($params['t'])) { // если в запросе передан id темы, заполняем список по нему $list->fillListByTheme($params['t'], $page); } elseif (isset($params['y']) && isset($params['m'])) { //если год и месяц, то заполняем по ним $list->fillListByMonth($params['m'], $params['y'], $page); } else { //иначе выводим все новости по дате, начиная с последней $list->fillLatest($page); } $data = $list->getList(); //настраиваем постраничную навигацию $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($list->getCount())); $paginator->setItemCountPerPage($pageSize); $paginator->setCurrentPageNumber($page); //передаем данные в представление $this->view->list = $data; $this->view->yearMenu = $yearMenuData; $this->view->themeMenu = $themeMenuData; $this->view->paginator = $paginator; }