Я пытаюсь фильтровать продукты без изображений на интерфейсе Magento, но с половиной успеха.
Я добавил следующий код:
//$_productCollection=$this->getLoadedProductCollection(); $_productCollection = clone $this->getLoadedProductCollection(); $_productCollection->clear() ->addAttributeToFilter('image', array('neq' => 'no_selection')) ->load();
чтобы:
приложение / дизайн / интерфейс / по умолчанию / [my_theme] /template/catalog/product/list.phtml
Продукты хорошо фильтруются, но номер страницы и количество элементов не обновляются.
Я следил за этой ссылкой:
Magento – list.phtml фильтрация коллекции продуктов, не дающая правильной разбивки на страницы
Кажется, что имеет смысл, продукт не фильтруется в глобальном масштабе, поэтому некоторые части веб-сайта не обновляются должным образом.
Я не уверен, как реализовать его решение, поскольку я новичок в Magento, похоже, что это сработало для человека, но, возможно, мое дело другое.
Пожалуйста помоги.
Выяснил это сам! Надеюсь, кто-то может воспользоваться этим!
Overwrite _beforeToHtml () в приложении / code / core / Mage / Catalog / Block / Product / list.php [BACKUP FILE]
protected function _beforeToHtml() { $toolbar = $this->getToolbarBlock(); // called prepare sortable parameters $collection = $this->_getProductCollection(); // use sortable parameters if ($orders = $this->getAvailableOrders()) { $toolbar->setAvailableOrders($orders); } if ($sort = $this->getSortBy()) { $toolbar->setDefaultOrder($sort); } if ($dir = $this->getDefaultDirection()) { $toolbar->setDefaultDirection($dir); } if ($modes = $this->getModes()) { $toolbar->setModes($modes); } // insert start $collection->addAttributeToFilter('image', array('neq' => 'no_selection')); // insert end // set collection to toolbar and apply sort $toolbar->setCollection($collection); $this->setChild('toolbar', $toolbar); Mage::dispatchEvent('catalog_block_product_list_collection', array( 'collection' => $this->_getProductCollection() )); $this->_getProductCollection()->load(); return parent::_beforeToHtml(); }
Источники: http://www.magentocommerce.com/boards/viewthread/73507/