Acheter les produits en nombre multiple de 4

Messagepar ledob44 » Lun 22 Jan 2007, 15:06

Bonjour,
j'ai une demande spécifique pour ma boutique mais je galère bien comme il faut. En fait, pour ne pas perdre d'argent, je souhaiterais envoyer les produits 4 par 4.

Je m'explique, je ne peux envoyer que des cartons contenant 4 produits. Mon souci est que l'on peut avoir 4 références différentes par colis. Je voulais donc savoir comment m'y prendre pour obliger l'acheteur à ne faire que des "paquets" de 4 produits. Et à partir de 5 produits, montrer que l'on passe à un deuxième colis qui devra comporter également 4 produits.

Je ne sai spas trop comment mieux expliquer mon problème. Si quelqu'un a la solution ou une piste sur laquelle je pourrais travailler.

Merci d'avance
ledob44
Membre inactif
 
Messages: 5
Inscription: Lun 18 Déc 2006, 13:04

Messagepar stepibou » Mar 23 Jan 2007, 13:24

Salut,

ca parait simple mais c'est bien compliqué ca !
as tu regardé dans les contriv oscommerce?
il existe bundle products qui pourrai peut-etre t'aider mais il ne correspond pas exactement à ce que tu recherche.

Cherche aussi vers les contributions pour site informatique... (computer..)

voila , bon courage.

a+
--> osCSS inside <--
stepibou
Membre très actif
 
Messages: 274
Inscription: Dim 30 Oct 2005, 02:15
Localisation: Lyon

Messagepar Yoann44 » Lun 05 Mar 2007, 19:27

Bonjour,

Le principe de cette contribution est d'imposer une restriction sur la panier pour que la commande soit obligatoirement un multiple de 4 ( facilement adaptable pour d'autre multiple ).
Pour des soucis de logistique, on peut restreindre le client à acheter uniquement des lots de produit qu'il constitue lui même (ex: lot de 4 produits)
Code: Tout sélectionner
   
Fichier includes/content/shopping_cart.php

A insérer après :
$products = $cart->get_products();


// Contribution Lot de Quatre Article
    $nombre_articles = 0;
    $_SESSION['lot'] = true;
    for($i=0, $n=sizeof($products); $i<$n; $i++)
    {
      $nombre_articles += $products[$i]['quantity']; 
     
    }
   
    if(!is_int($nombre_articles/4))
    {
     echo PANIER_INCOMPLET; 
      $_SESSION['lot'] = false;
     
    }
 
// EO Contribution Lot de Quatre Articles


Toujours dans le même fichier, changer la ligne :

<?php echo '<a class="navBt" href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . IMAGE_BUTTON_CHECKOUT . '</a>'; ?>


Par la ligne :

<?php if($_SESSION['lot']) echo '<a class="navBt" href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . IMAGE_BUTTON_CHECKOUT . '</a>'; ?>





Fichier includes/languages/french/shopping_cart.php
Fichier includes/languages/french/checkout_shipping.php
Fichier includes/languages/french/checkout_payment.php
Fichier includes/languages/french/checkout_confirmation.php
Fichier includes/languages/french/checkout_process.php


A insérer où l'on souaite :
define('PANIER_INCOMPLET', 'Vous devez constituer des lots de 4 produits !');



// On vérfie dans les fichiers suivants que les lots de 4 produits sont bien formé


Fichier includes/content/checkout_shipping.php
Fichier includes/content/checkout_payment.php
Fichier includes/content/checkout_confirmation.php
Fichier checkout_process.php
Pour les fichiers ci dessus, on effectue les modifications suivantes :

// En haut du fichier :

if($_SESSION['lot'])
{

// Tout en bas du fichier :


}
else echo PANIER_INCOMPLET;

Vos remarques sur ma contribution sont les bienvenues ;-)
Yoann44
Membre actif
 
Messages: 17
Inscription: Lun 05 Mar 2007, 13:34

Messagepar hugopery » Sam 06 Fév 2010, 21:19

MERCI MERCI MERCI !

génial ce code, j'ai installé oscss il y a 10 jours maintenant pour réaliser un site de vente de ligne de bouteilles de vins et je me demandais bien comment j'allais pouvoir obliger les acheteurs à grouper leurs achats par cartons de 6 ! et bien grâce à toi, j'ai la réponse. Ca fonctionne vraiment super bien ! chapeau bas !

Hugo
hugopery
Membre inactif
 
Messages: 1
Inscription: Lun 25 Jan 2010, 17:22


Retourner vers Developpement

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron