Jump to content

Edit History

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 ?

Bonjour,

Je développe un module 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 ?

×
×
  • Create New...