public function indexAction()
 {
     $cache = Zend_Registry::get('cache');
     $select = $this->_modelMapper->getDbTable()->select();
     $select->order('sorting ASC');
     if ($this->_request->getParam('category_id')) {
         $cacheName = 'Admin_CatalogProductsList_' . $this->_request->getParam('category_id');
         if (!($pageItems = $cache->load($cacheName))) {
             $pageItems = $this->_modelCategoriesMapper->fetchProductsRel($this->_request->getParam('category_id'), $select);
             $cache->save($pageItems, $cacheName, array('admin', 'Catalog', 'CatalogProductsList'));
         }
         $category = $this->_modelCategoriesMapper->find($this->_request->getParam('category_id'), new Catalog_Model_Categories());
     } else {
         $cacheName = 'Admin_CatalogProductsList_All';
         if (!($pageItems = $cache->load($cacheName))) {
             $pageItems = $this->_modelMapper->fetchAll($select);
             $cache->save($pageItems, $cacheName, array('admin', 'Catalog', 'CatalogProductsList'));
         }
     }
     if (!empty($pageItems)) {
         $pageItems = $this->setPaginationPage($pageItems);
     }
     $this->view->assign('pages', $pageItems);
     if (isset($category)) {
         $this->view->categoryName = $category->getName() . ' - ';
         $this->view->current_category = $category->getId();
     }
 }
 public function autocompleteAction()
 {
     $this->_helper->layout()->disableLayout();
     $query = $this->getRequest()->getParam('query');
     $productsMapper = new Catalog_Model_Mapper_Products();
     if ($this->_request->getParam('query')) {
         $query = str_replace(array('.', ',', ' ', '-', '_', '/', '\\', '*', '+', '&', '^', '%', '#', '@', '!', '(', ')', '~', '<', '>', ':', ';', '"', "'", "|"), '', $query);
         //$nameQuery = $this->_request->getParam('query');
         //$sQuery = "(`s_name` LIKE '%$query%' OR `name` LIKE '%$nameQuery%')";
         $sQuery = "MATCH(s_name, sku, name, meta_keywords) AGAINST ('+{$query}*' IN BOOLEAN MODE)";
         $select = $productsMapper->getDbTable()->select();
         $select->where('active != ?', 0)->where('deleted != ?', 1)->where($sQuery)->limit(15)->order("CHAR_LENGTH(sku) ASC");
         $products = $productsMapper->fetchAll($select);
         if (!empty($products)) {
             $this->view->assign('products', $products);
         }
     }
 }
 public function indexAction()
 {
     $productsMapper = new Catalog_Model_Mapper_Products();
     $products = $productsMapper->fetchAll();
     $countDraft = 0;
     /** @var Catalog_Model_Products $product */
     foreach ($products as $product) {
         if (!is_null($product->getAImages())) {
             $draftImages = unserialize($product->getAImages());
             if (!empty($draftImages)) {
                 $product->setDraft($draftImages[0]);
                 $productsMapper->save($product);
             }
             $countDraft++;
         }
     }
     Zend_Debug::dump($countDraft, 'Сгенерировано чертежей: ', true);
 }
 public function indexAction()
 {
     $productsMapper = new Catalog_Model_Mapper_Products();
     $jsonData = array();
     if ($this->_request->getParam('query')) {
         $query = $this->_request->getParam('query');
         $query = str_replace(array('.', ',', ' ', '-', '_', '/', '\\', '*', '+', '&', '^', '%', '#', '@', '!', '(', ')', '~', '<', '>', ':', ';', '"', "'", "|"), '', $query);
         //$nameQuery = $this->_request->getParam('query');
         //$sQuery = "(`s_name` LIKE '%$query%' OR `name` LIKE '%$nameQuery%')";
         $sQuery = "MATCH(s_name, sku, name) AGAINST ('+{$query}*' IN BOOLEAN MODE)";
         $select = $productsMapper->getDbTable()->select();
         if (!Zend_Auth::getInstance()->hasIdentity()) {
             $select->where('active != ?', 0)->where('deleted != ?', 1);
         }
         $select->where($sQuery)->limit(15)->order("CHAR_LENGTH(sku) ASC");
         $products = $productsMapper->fetchAll($select, true);
         $products && ($jsonData = $products);
     }
     $this->_helper->json->sendJson($jsonData);
 }