Jump to content

Produits Indisponibles Et Modification Ajax-Cart.js


Recommended Posts

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 by jcuenin (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...