2010-11-01 40 views
1

Est-il possible de définir le nombre minimum de produits requis pour une catégorie par commande dans Magento. Un client vend des peintures de la faune, l'une des catégories de la boutique est «cartes», il n'est pas très rentable d'en expédier moins de 6 à la fois.Magento - Comment définir le nombre minimum de produits par commande pour une catégorie?

Comment devrais-je forcer un minimum de 6 produits de la catégorie des cartes?

Merci, Dan

+0

Pourquoi ne pas simplement utiliser "Qté minimum autorisée dans le panier" par produit, que ce soit par produit ou Global sans codage personnalisé? – B00MER

+0

Je crois qu'il n'y a pas de paramètre global. Dans la configuration, il est clairement indiqué "Notez que ces paramètres sont applicables aux articles de la ligne de panier, pas au panier entier". – clockworkgeek

Répondre

2

suggestion de B00MER est probablement le chemin le plus facile si, d'un point de vue commercial, vous pouvez demander aux utilisateurs d'acheter les cartes dans certaines quantités. L'inconvénient sera qu'ils devront commander des multiples de la même carte.

Si vous devez autoriser plusieurs cartes différentes et appliquer des limites, pensez à utiliser un montant de commande minimum pour l'ensemble du panier. Cela couvrira les cas d'autres produits où l'expédition de petites quantités n'est pas rentable.

Si cela ne fonctionne pas, envisagez d'utiliser l'envoi en tarif de tableau et en l'utilisant comme frais de traitement pour les commandes non rentables. Ou des frais de traitement pour tous les ordres.

Si cela ne fonctionne pas, AFAIK, vous aurez besoin de faire quelques vérifications de code personnalisé que vous décrivez. Comment cela fonctionnerait-il avec les produits qui sont dans plusieurs sous-catégories et ainsi de suite? Définitivement faisable, mais la sémantique peut être étrange.

Espérons que ça aide!

Merci, Joe

1

Comme une autre suggestion envisager la création d'une règle de prix de chariot qui, sans empêcher des quantités plus petites, peuvent offrir aux clients potentiels encouragements.

Par exemple, une règle peut avoir les conditions suivantes:

  • combinaison d'attributs de produit (Si un article est TROUVE etc ...)
  • Quantité dans le panier est égale ou supérieure à
  • L'ensemble d'attributs est quel que soit le jeu que vous utilisez exclusivement pour les cartes

puis gratuitement expédition sur ces cartes.

1

On peut supposer que le coût d'expédition d'une carte est négligeable lorsqu'une commande contient aussi quelque chose de beaucoup plus grand, comme une peinture sur toile.
Fixez le poids minimum de la méthode d'expédition choisie à quelque chose comme 1 Lb et le poids de chaque carte à 0,18 (entre un cinquième et un sixième). De cette façon, un client doit acheter au moins 5 autres ou quelque chose de lourd en même temps.

0

Je ne connais pas les catégories, mais si vous voulez ajouter une quantité minimale autorisée pour une seule page de produit, il y a un moyen de le faire. En utilisant Magento, créez la page du produit comme vous le feriez normalement. Une fois créé, allez sur la page et affichez le code source. Saisissez tout le code et videz-le dans un éditeur (c'est-à-dire notepad ++). De là, faites défiler le code jusqu'à la ligne 560-580 en fonction de votre disposition.Vous devriez trouver la fonction javascript:

productAddToCartForm.submit = function(button, url) { 
     if (this.validator.validate()) { 
      var form = this.form; 
      var oldUrl = form.action; 

      if (url) { 
       form.action = url; 
      } 
      var e = null; 
      try { 
       this.form.submit(); 
      } catch (e) { 
      } 
      this.form.action = oldUrl; 
      if (e) { 
       throw e; 
      } 

      if (button && button != 'undefined') { 
       button.disabled = true; 
      } 
     } 

    }.bind(productAddToCartForm); 

De là, vous le modifier pour ressembler à quelque chose de similaire à ceci:

productAddToCartForm.submit = function(button, url) { 
    var LJSM1 = parseFloat(document.getElementById('bundle-option-1-qty-input').value); 
    var L2 = parseFloat(document.getElementById('bundle-option-2-qty-input').value); 
    var L3 = parseFloat(document.getElementById('bundle-option-3-qty-input').value); 
    var L4 = parseFloat(document.getElementById('bundle-option-4-qty-input').value); 
    var L5 = parseFloat(document.getElementById('bundle-option-7-qty-input').value); 
    var L6 = parseFloat(document.getElementById('bundle-option-6-qty-input').value); 
     if (this.validator.validate()) { 
     if((L1+L2+L3+L4+L5+L6) <= 15){ 
     alert("Sorry you are below the minimum order. Please increase your order to 16 or more to continue."); 
     } 
     else{ 
      var form = this.form; 
      var oldUrl = form.action; 

      if (url) { 
       form.action = url; 
      } 
      var e = null; 
      try { 
       this.form.submit(); 
      } catch (e) { 
      } 
      this.form.action = oldUrl; 
      if (e) { 
       throw e; 
      } 

      if (button && button != 'undefined') { 
       button.disabled = true; 
      } 
     } 
     } 
    }.bind(productAddToCartForm); 

Dans mon cas, j'ai ajouté d'une simple instruction if/else et appelé les options dans la page et les a assignés à une variable que j'ai alors additionnée. Après avoir modifié ce code, vous pouvez l'enregistrer dans un fichier .html portant le même nom que l'URL de la page d'origine, puis le télécharger à la racine de votre répertoire magento. Cela agit comme une sorte de masque à la page d'origine et ainsi lors de la navigation sur le produit, vous serez dirigé vers cette page à la place de la page Magento d'origine. Le panier, les options et le script Java fonctionneront toujours et tout fonctionnera normalement. Les seuls inconvénients sont que, quelle que soit la page ressemblait quand vous avez attrapé le code est ce que cela ressemblera à tout le monde. Je vous recommande donc de supprimer le code de votre panier, de la comparaison des produits et de tout autre élément qui aurait des données uniques afin qu'il n'y ait pas de confusion. En plus de cela, si vous apportez des modifications à la page Magento originale ou à vos thèmes, vous devrez recommencer le processus très rapidement pour mettre à jour le code.