Unable to override Magento\Catalog\Block\Product\ListProduct
etc\frontend\di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<preference for="Magento\Catalog\Block\Product\ListProduct" type="Vendor\Module\Block\Catalog\Product\ListProduct" />
</config>
\Vendor\Module\Block\Catalog\Product\ListProduct.php
namespace Vendor\Module\Block\Catalog\Product;
use Magento\Catalog\Api\CategoryRepositoryInterface;
use Magento\Catalog\Model\Category;
use Magento\Catalog\Model\Product;
use Magento\Eav\Model\Entity\Collection\AbstractCollection;
use Magento\Framework\Exception\NoSuchEntityException;
use Magento\Framework\DataObject\IdentityInterface;
class ListProduct extends \Magento\Catalog\Block\Product\ListProduct
{
public function __construct(
/*passing all Constructors parameters to the parent class */
\Magento\Catalog\Block\Product\Context $context,
\Magento\Framework\Data\Helper\PostHelper $postDataHelper,
\Magento\Catalog\Model\Layer\Resolver $layerResolver,
CategoryRepositoryInterface $categoryRepository,
\Magento\Framework\Url\Helper\Data $urlHelper,
/*passing all Constructors parameters to the parent class */
\Vendor\Module\Helper\Data $tglssearchHelper,
\Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $catalogResourceModelProductCollectionFactory,
\Magento\Catalog\Model\Config $catalogConfig,
\Magento\Store\Model\StoreManagerInterface $storeManager,
array $data = []
) {
$this->tglssearchHelper = $tglssearchHelper;
$this->catalogResourceModelProductCollectionFactory = $catalogResourceModelProductCollectionFactory;
$this->catalogConfig = $catalogConfig;
$this->storeManager = $storeManager;
parent::__construct(
$context,
$postDataHelper,
$layerResolver,
$categoryRepository,
$urlHelper,
$data
);
//$this->tglssearchHelper = $tglssearchHelper;
}
protected function _getProductCollection()
{
echo 'getproducolle';
....
}
}
Magento core _getProductCollection() is executing. I have cleared var/generation.
My di.xml is under /etc/frontend
di.xmlunderetcfolder. – Khoa TruongDinh Jun 27 '16 at 15:48