osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Mix 'Retrait à la boutique' (spu) et 'shipdate'
buvezduvin
posté 30 Apr 2011, 13:01
Message #1


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 184
Inscrit : 2-September 05
Lieu : Dijon
Membre no 6970



Bonjour à tous,
Je suis viti et vends mes vins en ligne (en grande partie grace à vous tous biggrin.gif )
J'ai trois modes de livraison: un par transporteur, un mode avec différents points de vente et un mode avec retrait au domaine (la contrib store_pickup_version1.3 (spu)). Mon problème est qu'un certain nombre de client commande avec un retrait au domaine (sans frais de port) mais passe chercher leur commande au bout de 3 mois (commande payé). Niveau gestion des stocks ça devenait compliqué alors j'ai rajouté un message 'disponibilité de la commande maxi un mois', mais ça ne change pas grand chose.
J'ai donc installé la contrib 'Shipping Date Chooser' (http://addons.oscommerce.com/info/6178) qui marche très bien et me permet de mettre une date mininum après la commande (pour la préparer), mais surtout une date maximum (pour moi 30j).
Mon objectif est maintenant d'ouvrir un <div> pour faire apparaitre ce choix de date mais uniquement quand l'onglet 'passage au domaine' est sélectionné, et si possible sans rechargement de page. Et il faut aussi que je mette une condition pour forcer le client à rentrer une date pour continuer sa commande si il veut la récupérer au domaine.
Est-ce réalisable (surtout l'ouverture du div)? Avez-vous d'autres idées?


--------------------
- avec modération -
MS2 fr, ~35 contrib.
Go to the top of the page
 
buvezduvin
posté 12 May 2011, 10:43
Message #2


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 184
Inscrit : 2-September 05
Lieu : Dijon
Membre no 6970



j'essaye de mettre ma condition au point:
juste après
Code

// load all enabled shipping modules
  require(DIR_WS_CLASSES . 'shipping.php');
  $shipping_modules = new shipping;

j'ajoute ceci, mais je pense que la deuxième condition $delivery_date ne foncitonne pas:
Code

  if (($shipping_modules == 'spu') && (empty($delivery_date))) {
    tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING));
  }


--------------------
- avec modération -
MS2 fr, ~35 contrib.
Go to the top of the page
 
buvezduvin
posté 13 May 2011, 12:58
Message #3


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 184
Inscrit : 2-September 05
Lieu : Dijon
Membre no 6970



en faisant des recherches je viens de tomber la dessus: (post de xaglo)
Code
function isArray (obj){
   return (typeof(obj.length)=="undefined") ? false : true;
}
function check_form() {
  var error_message = "<?php echo JS_ERROR; ?>" + "<?php echo JS_CHOOSE_SHIPPING_METHOD; ?>";
  if (isArray(document.checkout_address.shipping)) {
    for (i = 0; i < document.checkout_address.shipping.length; i++)
      if (document.checkout_address.shipping[i].checked)
        return true;
        alert(error_message);
        return false;
  } else {
    document.checkout_address.shipping.checked=true;
      return true;
  }
}

juste avant la ligne 190


//--></script>


et tu cherches ligne205


    <td width="100%" valign="top"><?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

que tu REMPLACES par


    <td width="100%" valign="top"><?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'), 'post', 'onSubmit="return check_form();"') . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">


et tu ajoutes le define (JS_CHOOSE_SHIPPING_METHOD) dans le fichier de langue

Bon code

Peut-être peut-on rajouter une condition pour vérifier le remplissage du champ delivery_date quand SPU est choisi?

Ce message a été modifié par buvezduvin - 13 May 2011, 12:58.


--------------------
- avec modération -
MS2 fr, ~35 contrib.
Go to the top of the page
 
buvezduvin
posté 20 May 2011, 15:27
Message #4


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 184
Inscrit : 2-September 05
Lieu : Dijon
Membre no 6970



arg, j'ose même pas vous mettre les bouts de code que je tente...
le javascript me semble plus approprié
je pense que ce n'est pas empty($delivery_date) mais isset($delivery_date) mais sinon...

si un boss passe par là unsure.gif


--------------------
- avec modération -
MS2 fr, ~35 contrib.
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 22nd May 2013 - 06:51
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)