2

I need to create 2 widgets on the homepage (CMS Home Page -> Main Content Area).

In order to do that, I created 2 modules (one for each widget) and extended from Catalog Product List to use my own template (and also to select the products from the admin in a more fancy way).

The problem is that the frontend is displaying the same widget twice (the first one, the other one doesn't appear at all).

Apparently there is a known issue related to this, but if someone found a solution to this bug and share it, it would be greatly appreciated.

bumped to the homepage by Community 21 hours ago

This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.

  • What version of magento 2 are you using? – André Ferraz Nov 9 '16 at 16:24
  • @AndréFerraz 2.1.1 – pinicio Nov 9 '16 at 17:56
0

I found a solution and forgot to post it here, better late than never. The issue is that the widget_id isn't stored within the cache key, so I added the getCacheKeyInfo method to the Block of my Module and set the id for the widget (note self::WIDGET_ID).

/*
 * Set widget id to prevent M2 bug
 * https://github.com/magento/magento2/issues/4389
 */
public function getCacheKeyInfo()
{
    return [
        'CATALOG_PRODUCTS_LIST_WIDGET',
        $this->_storeManager->getStore()->getId(),
        $this->_design->getDesignTheme()->getId(),
        $this->httpContext->getValue(\Magento\Customer\Model\Context::CONTEXT_GROUP),                intval($this->getRequest()->getParam($this->getData('page_var_name'), 1)),
        $this->getProductsPerPage(),
        self::WIDGET_ID,
        serialize($this->getRequest()->getParams())
    ];
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.