jcuenin Posted January 11, 2016 Share Posted January 11, 2016 (edited) Bonjour à tous, Je suis en train de créer une fonction dont le but est d'afficher une Fancybox différente si jamais le produit ajouté au panier n'est pas disponible. Cette Fancybox doit contenir une suggestions de produits dans la meme catégorie. J'ai donc tout d'abord commencé par modifier le fichier product.tpl afin d'ajouter le texte "indisponible"si la quantité disponible est inférieure à 1. <select name="{$groupName}" id="group_{$id_attribute_group|intval}" class="form-control attribute_select no-print {$group.name}"> {foreach from=$group.attributes key=id_attribute item=group_attribute} <option value="{$id_attribute|intval}"{if (isset($smarty.get.$groupName) && $smarty.get.$groupName|intval == $id_attribute) || $group.default == $id_attribute} selected="selected"{/if} title="{$group_attribute|escape:'html':'UTF-8'}"> {$group_attribute|escape:'html':'UTF-8'} <!-- jcuenin - 08012016 - ajoute out ot stock dans le dropdown --> {if {$group.attributes_quantity[{$id_attribute|intval}]} < 1} - {l s='indisponible'} {/if} </option> {/foreach}</select> Une fois cette modification effectuée, j'ai modifié le code dans le fichier ajax-cart.js permettant d'ajouter le produit au panier. if ($('.cart_block').length) { $(document).off('click', '#add_to_cart button').on('click', '#add_to_cart button', function(e){ e.preventDefault(); // jcuenin - modification ajout panier pour produits indisponibles console.log("produit ajouté au panier"); var indisponible = jQuery('#group_4 option:selected').text(); if( indisponible.indexOf('indisponible') >= 0){ ajaxCart.showAvailable($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); } else{ ajaxCart.add($('#product_page_product_id').val(), $('#idCombination').val(), true, null, $('#quantity_wanted').val(), null); } }); } Puis crée la fonction showAvailable dans le meme fichier. // jcuenin - modification ajout panier pour produits indisponiblesshowAvailable : function(idProduct, idCombination, addedFromProductPage, callerElement, quantity, whishlist){ $.fancybox.open([ { type: 'html', topRatio: 0, minHeight: 30, content: '<div style="height:200px;width:100%;">Le produit '+idProduct+' est indisponible</div>' }], { padding: 0 }); } Ma question est donc : comment est-ce que je peux récupérer en javascript la liste des produits qui sont dans la meme catégorie que mon produit?A priori, il faudrait effectuer une requête ajax mais je ne sais pas comment m'y prendre.Merci par avance pour vos réponses et bonne journée,Julien Edited January 11, 2016 by jcuenin (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now