/** * @return Collection */ protected function _getProductCollection() { if (is_null($this->_productCollection)) { /** @var Collection $collection */ $collection = $this->_productCollectionFactory->create(); $this->_layerFactory->create()->prepareProductCollection($collection); $collection->addAttributeToFilter('promotion', 1)->addStoreFilter(); $this->_productCollection = $collection; } return $this->_productCollection; }
/** * @return \Magento\Catalog\Model\Resource\Product\Collection */ protected function _getProductCollection() { if (is_null($this->_productCollection)) { /** @var \Magento\Catalog\Model\Resource\Product\Collection $collection */ $collection = $this->_productCollectionFactory->create(); $this->_layerFactory->create()->prepareProductCollection($collection); $collection->getSelect()->order('rand()'); $collection->addStoreFilter(); $numProducts = $this->getNumProducts() ? $this->getNumProducts() : 0; $collection->setPage(1, $numProducts); $this->_productCollection = $collection; } return $this->_productCollection; }