Bonjour,
Je développe un module prestashop 8 pour afficher une étiquette sur un produit, mais uniquement si le produit a la caractéristique "HOT" égale à 1.
Voici mon code :
public function hookDisplayProductPriceBlock($params) { $product = $params['product']; if ($product->HOT == 1) { return $this->display(__FILE__, 'views/templates/hook/hotproduct.tpl'); } }
public function hookDisplayProductPriceBlock($params)
{
$product = $params['product'];
if ($product->HOT == 1) {
return $this->display(__FILE__, 'views/templates/hook/hotproduct.tpl');
}
}
Il ne montre rien sur un produit avec l'attribut HOT à 1. Si je supprime la condition, il s'affiche !
J'ai également essayé cela
public function hookDisplayProductPriceBlock($params)
{
$product = $params['product'];
// Obtener las características del producto
$features = $product->getFrontFeatures($this->context->language->id);
// Buscar la característica "HOT" entre las características del producto
$hotValue = null;
foreach ($features as $feature) {
if ($feature['name'] === 'HOT') {
return $this->display(__FILE__, 'views/templates/hook/hotproduct.tpl');
break;
}
}
//if ($product->HOT == 1) {
// return $this->display(__FILE__, 'views/templates/hook/hotproduct.tpl');
// }
}
Mais cela me donne cette erreur :
PHP Fatal error: Uncaught Error: Call to undefined method PrestaShop\PrestaShop\Adapter\Presenter\Product\ProductLazyArray::getFrontFeatures()
Avez-vous une idée ?