Jump to content

résumé panier > incrémenter par $product.minimal_quantity


Recommended Posts

Bonjour à tous,

 

pour commencer désolé pour ce titre qui ne veut rien dire mais je n'ai rien trouvé d'autres ;)

 

mon problème est le suivant, mon client vend certaines choses par lots de 4 d'autres par 6 etc ... j'ai donc modifié la fiche produit pour que les quantités affichent une barre déroulante proposant uniquement les quantités du multiple de $product.minimal_quantity  bref j'ai bricolé de façon à obliger le client à ne commander que par le multiple voulu.

 

le problème est que dans le résumé du panier je ne trouve pas l'endroit à modifier pour incrémenter par le nombre voulu plutot que toujours incrémenter de 1

 

merci d'avance pour toutes votre aide ;)

Link to comment
Share on other sites

function upQuantity(id, qty)
{
	if (typeof(qty) == 'undefined' || !qty)
		
		qty = 1;
	{if $product.minimal_quantity > 1} 
	qty = {$product.minimal_quantity};
	{/if}
	var customizationId = 0;
	var productId = 0;
	var productAttributeId = 0;
	var id_address_delivery = 0;
	var ids = 0;
	ids = id.split('_');
	productId = parseInt(ids[0]);
	if (typeof(ids[1]) !== 'undefined')
		productAttributeId = parseInt(ids[1]);
	if (typeof(ids[2]) !== 'undefined' && ids[2] !== 'nocustom')
		customizationId = parseInt(ids[2]);
	if (typeof(ids[3]) !== 'undefined')
		id_address_delivery = parseInt(ids[3]);

	$.ajax({
		type: 'POST',
		headers: { "cache-control": "no-cache" },
		url: baseUri + '?rand=' + new Date().getTime(),
		async: true,
		cache: false,
		dataType: 'json',
		data: 'controller=cart'
			+ '&ajax=true'
			+ '&add=true'
			+ '&getproductprice=true'
			+ '&summary=true'
			+ '&id_product=' + productId
			+ '&ipa=' + productAttributeId
			+ '&id_address_delivery=' + id_address_delivery
			+ ((customizationId !== 0) ? '&id_customization=' + customizationId : '')
			+ '&qty=' + qty
			+ '&token=' + static_token
			+ '&allow_refresh=1',
		success: function(jsonData)
		{
			if (jsonData.hasError)
			{
				var errors = '';
				for(var error in jsonData.errors)
					//IE6 bug fix
					if(error !== 'indexOf')
						errors += $('<div />').html(jsonData.errors[error]).text() + "\n";
				alert(errors);
				$('input[name=quantity_'+ id +']').val($('input[name=quantity_'+ id +'_hidden]').val());
			}
			else
			{
				if (jsonData.refresh)
					location.reload();
				updateCartSummary(jsonData.summary);
				if (window.ajaxCart != undefined)
					ajaxCart.updateCart(jsonData);
				if (customizationId !== 0)
					updateCustomizedDatas(jsonData.customizedDatas);
				updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART);
				updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA);
				if (typeof(getCarrierListAndUpdate) !== 'undefined')
					getCarrierListAndUpdate();
				if (typeof(updatePaymentMethodsDisplay) !== 'undefined')
					updatePaymentMethodsDisplay();					
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) {
			if (textStatus !== 'abort')
				alert("TECHNICAL ERROR: unable to save update quantity \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
		}
	});
}

quel est le problème dans ce que j'ai fait ?? merci d'avance ??

Link to comment
Share on other sites

Euh... Les déclinaisons et caractéristiques, ca vous parle ? :lol:

Y a rien à touché...(je crois) juste créer une déclinaison ou caractéristique (je sais plus lequel des deux) nommé 'Par' (où comme vous voulez), et ensuite lui ajouter des sous-déclinaisons/sous-caractéristiques : 10/100/1000, etc...
Y a plus qu'à les ajouter à chaque fiche-produit suivant ce qui lui convient le mieux.

Pour prendre l'exemple de bougies, dispo en plusieurs couleurs et plusieurs 'groupe'.
Ca donnera le choix aux visiteurs sur la fiche produit entre toutes couleurs, et tous les groupes. (10/20/50/100...)
En gros, faire comme pour les couleurs mais remplacer leur noms par les nombres voulus.

Je sais pas si c'est clair mais, sachez qu'il n'y a rien à coder... (si j'ai bien cerné le problème)

Edited by FMR (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...