ps_categoryproducts/ps_viewedproducts - price only on first product
It is bug with prestashop cache itself, to fix it is needed to disable cache for module
For
ps_categoryproducts
modules/ps_categoryproducts/ps_categoryproducts.php
change renderWidget method to
public function renderWidget($hookName = null, array $configuration = array()) { $params = $this->getInformationFromConfiguration($configuration); if ($params) { if ((int)Configuration::get('CATEGORYPRODUCTS_DISPLAY_PRODUCTS') > 0) { // Need variables only if this template isn't cached //if (!$this->isCached($this->templateFile, $params['cache_id'])) { if (!empty($params['id_category'])) { $category = new Category($params['id_category']); } if (empty($category) || !Validate::isLoadedObject($category) || !$category->active) { return false; } $variables = $this->getWidgetVariables($hookName, $configuration); if (empty($variables)) { return false; } $this->smarty->assign($variables); // } return $this->fetch( $this->templateFile ); } } return false; }
ps_viewedproducts
modules/ps_viewedproducts/ps_viewedproducts.php
change renderWidget method to
public function renderWidget($hookName = null, array $configuration = array()) { if (isset($configuration['product']['id_product'])) { $this->currentProductId = $configuration['product']['id_product']; } if ('displayProductButtons' === $hookName || 'displayProductAdditionalInfo' === $hookName) { $this->addViewedProduct($this->currentProductId); return; } if (!isset($this->context->cookie->viewed) || empty($this->context->cookie->viewed)) { return; } // if (!$this->isCached($this->templateFile, $this->getCacheId())) { $variables = $this->getWidgetVariables($hookName, $configuration); if (empty($variables)) { return false; } $this->smarty->assign($variables); // } // return $this->fetch($this->templateFile, $this->getCacheId()); return $this->fetch($this->templateFile); }