/**
  * 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"));
 }