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); }