/** * Show sidebar * * @var int $pcategory Selected category * * @throws Exception 404, Category not found * */ public function sidebarAction() { $categoriesModel = new Model_DbTable_Categories(); $select = $categoriesModel->select(); $select->order(new Zend_Db_Expr('`order`<=-100'))->order("order"); if (!Zend_Auth::getInstance()->hasIdentity()) { $select->where("`order` != -100 OR `order` IS NULL"); } if (NULL != ($category_id = $this->getRequest()->getParam("category"))) { if (!($category = $categoriesModel->find($category_id)->current())) { throw new Exception("Category not found", 404); } $select->where("parent_id = ?", $category->id); $categories = $categoriesModel->fetchAll($select); if (count($categories) == 0) { $category = $categoriesModel->find($category->parent_id)->current(); $categories = $category->findDependentRowset("Model_DbTable_Categories"); } } else { $category = NULL; $categories = $categoriesModel->fetchAll($select->where("parent_id = ?", 0)); } $this->view->categories = $categories; $this->view->category = $category; $this->view->current = $category_id; $this->view->catalogs = new Zend_Config_Xml(APPLICATION_PATH . "/config/catalogs.xml"); }
/** * Show categories list ( based on parent_id ). if no sub category found - will forward to products list * * @var integer $pcategory Parent category */ public function indexAction() { $categoriesModel = new Model_DbTable_Categories(); $select = $categoriesModel->select(); if (NULL != ($parent_id = $this->getRequest()->getParam("category"))) { $category = $categoriesModel->find($parent_id)->current(); $this->view->category = $category; $select->where("`parent_id` = ?", $parent_id); $this->view->headTitle()->prepend("Альфа-Гидро: Каталог продукции - " . $category['name']); } else { $select->where("`parent_id` = ?", 0); $this->view->headTitle()->prepend("Альфа-Гидро: Продукция"); } $select->order(new Zend_Db_Expr('`order`<=-100'))->order("order"); if (!Zend_Auth::getInstance()->hasIdentity()) { $select->where("`order` != -100 OR `order` IS NULL"); } $this->view->rowset = $categoriesModel->fetchAll($select); if ($this->getRequest()->isXmlHttpRequest()) { $this->view->curRowId = $this->getRequest()->getParam("currentCategory"); $this->_helper->viewRenderer->setRender('index-ajax'); Zend_Layout::getMvcInstance()->disableLayout(); return; } if (count($this->view->rowset) == 0) { $this->forward("index", "products"); return; } }
/** * Default action, show PDF book generation form * */ public function indexAction() { if (!Zend_Auth::getInstance()->hasIdentity()) { throw new Zend_Exception("Page not found", 404); } $categoriesModel = new Model_DbTable_Categories(); $this->view->categories = $categoriesModel->fetchAll($categoriesModel->select()->where('`parent_id` IS NULL')->order("order")); }