{"id":1043,"date":"2015-07-22T11:24:01","date_gmt":"2015-07-22T09:24:01","guid":{"rendered":"http:\/\/www.h-hennes.fr\/blog\/?p=1043"},"modified":"2018-11-22T18:17:27","modified_gmt":"2018-11-22T16:17:27","slug":"prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/","title":{"rendered":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier"},"content":{"rendered":"<p>Petite astuce rapide pour Prestashop 1.4.<br \/>\nSi vous vendez des produits t\u00e9l\u00e9chargeables qui n&rsquo;ont aucun int\u00e9r\u00eat\u00a0 \u00e0 \u00eatre ajout\u00e9 au panier plus d&rsquo;une fois, voici comment limiter cela rapidement.<\/p>\n<p>Dans le fichier override\/classes\/Cart.php saisissez le code suivant :<\/p>\n<p>Les codes ajout\u00e9s sont lignes 42,43 et 53-55<\/p>\n<pre lang=\"php\" line=\"1\" escaped=\"true\">&lt;?php\r\n\r\n\/**\r\n\u00a0* Surcharge de la classe Panier\r\n\u00a0*\/\r\nclass Cart extends CartCore\r\n{\r\n\r\n\u00a0\u00a0\u00a0\u00a0 \/**\r\n\u00a0\u00a0 \u00a0 * Update product quantity\r\n\u00a0\u00a0 \u00a0 *\r\n\u00a0\u00a0\u00a0\u00a0 * Ajout d'une limitation qui ne permet d'ajouter qu'une seule fois un produit t\u00e9l\u00e9chargeable au panier\r\n\u00a0\u00a0\u00a0\u00a0 * \r\n\u00a0\u00a0 \u00a0 * @param integer $quantity Quantity to add (or substract)\r\n\u00a0\u00a0 \u00a0 * @param integer $id_product Product ID\r\n\u00a0\u00a0 \u00a0 * @param integer $id_product_attribute Attribute ID if needed\r\n\u00a0\u00a0 \u00a0 * @param string $operator Indicate if quantity must be increased or decreased\r\n\u00a0\u00a0 \u00a0 *\/\r\n\u00a0\u00a0 \u00a0public function updateQty($quantity, $id_product, $id_product_attribute = NULL, $id_customization = false, $operator = 'up')\r\n\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$product = new Product((int)$id_product, false, (int)Configuration::get('PS_LANG_DEFAULT'));\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/* If we have a product combination, the minimal quantity is set with the one of this combination *\/\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (!empty($id_product_attribute))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$minimalQuantity = (int)Attribute::getAttributeMinimalQty((int)$id_product_attribute);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$minimalQuantity = (int)$product-&gt;minimal_quantity;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (!Validate::isLoadedObject($product))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0die(Tools::displayError());\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (isset(self::$_nbProducts[$this-&gt;id]))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0unset(self::$_nbProducts[$this-&gt;id]);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (isset(self::$_totalWeight[$this-&gt;id]))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0unset(self::$_totalWeight[$this-&gt;id]);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ((int)$quantity &lt;= 0)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return $this-&gt;deleteProduct((int)$id_product, (int)$id_product_attribute, (int)$id_customization);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else if (!$product-&gt;available_for_order OR Configuration::get('PS_CATALOG_MODE'))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return false;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/* On determine si le produit est t\u00e9l\u00e9chargeable *\/\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 $isProductDownloadable = ProductDownloadCore::getIdFromIdProduct($product-&gt;id);\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/* Check if the product is already in the cart *\/\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$result = $this-&gt;containsProduct((int)$id_product, (int)$id_product_attribute, (int)$id_customization);\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/* Update quantity if product already exist *\/\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($result)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($operator == 'up')\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/* Un produit t\u00e9l\u00e9chargeable ne peut \u00eatre ajout\u00e9 qu'une fois au panier *\/\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if ( $isProductDownloadable )\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return false;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$result2 = Db::getInstance()-&gt;getRow('\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0SELECT '.(!empty($id_product_attribute) ? 'pa' : 'p').'.`quantity`, p.`out_of_stock`\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0FROM `'._DB_PREFIX_.'product` p\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'.(!empty($id_product_attribute) ? 'LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON p.`id_product` = pa.`id_product`' : '').'\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0WHERE p.`id_product` = '.(int)($id_product).\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0(!empty($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : ''));\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$productQty = (int)$result2['quantity'];\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$newQty = (int)$result['quantity'] + (int)$quantity;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$qty = '+ '.(int)$quantity;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (!Product::isAvailableWhenOutOfStock((int)$result2['out_of_stock']))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($newQty &gt; $productQty)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return false;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0elseif ($operator == 'down')\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$qty = '- '.(int)$quantity;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$newQty = (int)$result['quantity'] - (int)$quantity;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($newQty &lt; $minimalQuantity AND $minimalQuantity &gt; 1)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return -1;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return false;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/* Delete product from cart *\/\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($newQty &lt;= 0)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return $this-&gt;deleteProduct((int)$id_product, (int)$id_product_attribute, (int)$id_customization);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else if ($newQty &lt; $minimalQuantity)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return -1;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0Db::getInstance()-&gt;Execute('\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0UPDATE `'._DB_PREFIX_.'cart_product`\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0SET `quantity` = `quantity` '.$qty.', `date_add` = NOW()\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0WHERE `id_product` = '.(int)$id_product.\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0(!empty($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : '').'\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0AND `id_cart` = '.(int)$this-&gt;id.'\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0LIMIT 1');\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/* Add product to the cart *\/\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$result2 = Db::getInstance()-&gt;getRow('\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0SELECT '.(!empty($id_product_attribute) ? 'pa' : 'p').'.`quantity`, p.`out_of_stock`\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0FROM `'._DB_PREFIX_.'product` p\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'.(!empty($id_product_attribute) ? 'LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON p.`id_product` = pa.`id_product`' : '').'\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0WHERE p.`id_product` = '.(int)$id_product.\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0(!empty($id_product_attribute) ? ' AND `id_product_attribute` = '.(int)$id_product_attribute : ''));\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (!Product::isAvailableWhenOutOfStock((int)$result2['out_of_stock']))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ((int)$quantity &gt; $result2['quantity'])\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return false;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ((int)$quantity &lt; $minimalQuantity)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return -1;\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if (!Db::getInstance()-&gt;AutoExecute(_DB_PREFIX_.'cart_product', array('id_product' =&gt; (int)$id_product,\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'id_product_attribute' =&gt; (int)$id_product_attribute, 'id_cart' =&gt; (int)$this-&gt;id,\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0'quantity' =&gt; (int)$quantity, 'date_add' =&gt; date('Y-m-d H:i:s')), 'INSERT'))\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return false;\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0}\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\/\/ refresh cache of self::_products\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$this-&gt;_products = $this-&gt;getProducts(true);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0$this-&gt;update(true);\r\n\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0if ($product-&gt;customizable)\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return $this-&gt;_updateCustomizationQuantity((int)$quantity, (int)$id_customization, (int)$id_product, (int)$id_product_attribute, $operator);\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0else\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0return true;\r\n\u00a0\u00a0 \u00a0}\r\n}\r\n<\/pre>\n<p>Vous obtiendrez ensuite le message d&rsquo;erreur standard de Prestashop \u00ab\u00a0vous avez atteint la quantit\u00e9 maximum pour ce produit\u00a0\u00bb lorsque vous tentez de rajouter plus d&rsquo;une fois un produit t\u00e9l\u00e9chargeable au panier<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Petite astuce rapide pour Prestashop 1.4. Si vous vendez des produits t\u00e9l\u00e9chargeables qui n&rsquo;ont aucun int\u00e9r\u00eat\u00a0 \u00e0 \u00eatre ajout\u00e9 au panier plus d&rsquo;une fois, voici comment limiter cela rapidement. Dans le fichier override\/classes\/Cart.php saisissez le code suivant : Les codes ajout\u00e9s sont lignes 42,43 et 53-55 &lt;?php \/** \u00a0* Surcharge de la classe Panier \u00a0*\/ [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[245],"tags":[104,371,372],"class_list":["post-1043","post","type-post","status-publish","format-standard","hentry","category-prestashop-2","tag-prestashop","tag-produits-telechargeables","tag-quantite-panier","prestashop-1-4","prestashop-1-7-8"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Tutoriel prestashop 1.4 pour limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"herve\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#article\",\"name\":\"Prestashop 14 : Limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier | Herv\\u00e9 Hennes\",\"headline\":\"Prestashop 14 : Limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier\",\"author\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\"},\"datePublished\":\"2015-07-22T11:24:01+02:00\",\"dateModified\":\"2018-11-22T18:17:27+02:00\",\"inLanguage\":\"fr-FR\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#webpage\"},\"articleSection\":\"Prestashop, prestashop, produits t\\u00e9l\\u00e9chargeables, quantit\\u00e9 panier, 1.4, 1.7.8\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/prestashop-2\\\/#listItem\",\"name\":\"Prestashop\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/prestashop-2\\\/#listItem\",\"position\":2,\"name\":\"Prestashop\",\"item\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/prestashop-2\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#listItem\",\"name\":\"Prestashop 14 : Limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#listItem\",\"position\":3,\"name\":\"Prestashop 14 : Limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/prestashop-2\\\/#listItem\",\"name\":\"Prestashop\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\",\"name\":\"Herv\\u00e9 Hennes\",\"description\":\"D\\u00e9veloppeur e-commerce\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/\",\"name\":\"herve\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/248532c833c69e304668cc20fd20ec6ddc1808306f57d5d14e632059f50347a4?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"herve\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#webpage\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/\",\"name\":\"Prestashop 14 : Limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier | Herv\\u00e9 Hennes\",\"description\":\"Tutoriel prestashop 1.4 pour limiter la quantit\\u00e9 des produits t\\u00e9l\\u00e9chargeables \\u00e0 1 dans le panier\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2015\\\/07\\\/22\\\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"datePublished\":\"2015-07-22T11:24:01+02:00\",\"dateModified\":\"2018-11-22T18:17:27+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/\",\"name\":\"Herv\\u00e9 Hennes\",\"description\":\"D\\u00e9veloppeur e-commerce\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier | Herv\u00e9 Hennes","description":"Tutoriel prestashop 1.4 pour limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","canonical_url":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#article","name":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier | Herv\u00e9 Hennes","headline":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","author":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"publisher":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#organization"},"datePublished":"2015-07-22T11:24:01+02:00","dateModified":"2018-11-22T18:17:27+02:00","inLanguage":"fr-FR","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#webpage"},"isPartOf":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#webpage"},"articleSection":"Prestashop, prestashop, produits t\u00e9l\u00e9chargeables, quantit\u00e9 panier, 1.4, 1.7.8"},{"@type":"BreadcrumbList","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.h-hennes.fr\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/#listItem","name":"Prestashop"}},{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/#listItem","position":2,"name":"Prestashop","item":"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#listItem","name":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#listItem","position":3,"name":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","previousItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/#listItem","name":"Prestashop"}}]},{"@type":"Organization","@id":"https:\/\/www.h-hennes.fr\/blog\/#organization","name":"Herv\u00e9 Hennes","description":"D\u00e9veloppeur e-commerce","url":"https:\/\/www.h-hennes.fr\/blog\/"},{"@type":"Person","@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author","url":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/","name":"herve","image":{"@type":"ImageObject","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/248532c833c69e304668cc20fd20ec6ddc1808306f57d5d14e632059f50347a4?s=96&d=mm&r=g","width":96,"height":96,"caption":"herve"}},{"@type":"WebPage","@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#webpage","url":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/","name":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier | Herv\u00e9 Hennes","description":"Tutoriel prestashop 1.4 pour limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/#breadcrumblist"},"author":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"creator":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"datePublished":"2015-07-22T11:24:01+02:00","dateModified":"2018-11-22T18:17:27+02:00"},{"@type":"WebSite","@id":"https:\/\/www.h-hennes.fr\/blog\/#website","url":"https:\/\/www.h-hennes.fr\/blog\/","name":"Herv\u00e9 Hennes","description":"D\u00e9veloppeur e-commerce","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"1043","title":null,"description":"Tutoriel prestashop 1.4 pour limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-29 16:38:24","updated":"2022-10-04 09:25:44","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.h-hennes.fr\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/\" title=\"Prestashop\">Prestashop<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPrestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.h-hennes.fr\/blog"},{"label":"Prestashop","link":"https:\/\/www.h-hennes.fr\/blog\/category\/prestashop-2\/"},{"label":"Prestashop 14 : Limiter la quantit\u00e9 des produits t\u00e9l\u00e9chargeables \u00e0 1 dans le panier","link":"https:\/\/www.h-hennes.fr\/blog\/2015\/07\/22\/prestashop-14-limiter-la-quantite-des-produits-telechargeable-a-1-dans-le-panier\/"}],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=1043"}],"version-history":[{"count":5,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1043\/revisions"}],"predecessor-version":[{"id":1048,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1043\/revisions\/1048"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=1043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=1043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=1043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}