Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
20 Feb 2010, 11:01
Message
#1
|
|
![]() Ceinture orange OSC Groupe : Membres Messages : 171 Inscrit : 14-March 07 Lieu : Paris Membre no 15916 |
Bonjour,
Je cherche a utiliser la contrib Colissimo (French Post) mais avec quelques modifs. Je m'explique: Je souhaite afficher au client un choix entre Colissimo R0 et le Colissimo Rx selon la valeur acheté afin qu'ils aient le choix de se faire livré avec ou sans assurance. Pour ce faire j'ai copier tout les fichiers de cette contrib et ajouter "ass" dans le nom des fichiers puis modifié les variables en ajoutant la meme chose que pour les fichiers dans l'intitulé de cette dernière. Concraitement ca donne ca: includes/lmodules/shipping/colissimo.php => includes/lmodules/shipping/colissimo.php Et CODE class colissimo { var $code, $title, $description, $icon, $enabled; // class constructor function colissimo() { $this->code = 'colissimo'; $this->title = MODULE_SHIPPING_COLISSIMO_TEXT_TITLE; $this->description = MODULE_SHIPPING_COLISSIMO_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_COLISSIMO_SORT_ORDER; $this->icon = DIR_WS_ICONS . 'shipping_colissimo.gif'; $this->tax_class = MODULE_SHIPPING_COLISSIMO_TAX_CLASS; $this->enabled = MODULE_SHIPPING_COLISSIMO_STATUS; $this->num_international = 4; //Nbr de zone International // disable the module if the order only weight > 30 Devient CODE class colissimoass { var $code, $title, $description, $icon, $enabled; // class constructor function colissimoass() { $this->code = 'colissimoass'; $this->title = MODULE_SHIPPING_COLISSIMOASS_TEXT_TITLE; $this->description = MODULE_SHIPPING_COLISSIMOASS_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_COLISSIMOASS_SORT_ORDER; $this->icon = DIR_WS_ICONS . 'shipping_colissimo.gif'; $this->tax_class = MODULE_SHIPPING_COLISSIMOASS_TAX_CLASS; $this->enabled = MODULE_SHIPPING_COLISSIMOASS_STATUS; $this->num_international = 4; //Nbr de zone International // disable the module if the order only weight > 30 Bien sur j'applique la même logique a tout le fichier. Et enfin dans includes/lmodules/shipping/colissimo.php j'ai fais ca: CODE for ($i = 0; $i < sizeof($table); $i+=2) { if ($shipping_weight > $table[$i]) continue; if (($shipping_weight < $table[$i]) && ($j== '0')) { if($auto=="True"){ if(($total<=50)&&($k=="0")){ $methods[] = array('id' => "TOMR1", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); $k++; }elseif(($total>50) && ($total<=200)&&($k=="0")){ $methods[] = array('id' => "TOMR2", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); $k++; }elseif(($total>200) && ($total<=400)&&($k=="0")){ $methods[] = array('id' => "TOMR3", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); $k++; }elseif(($total>400) && ($total<=600)&&($k=="0")){ $methods[] = array('id' => "TOMR4", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); $k++; }elseif(($total>600)&&($k=="0")){ $methods[] = array('id' => "TOMR5", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); $k++; } }else{ if ( $method == '' || $method == "TOMR0" ) { $methods[] = array('id' => "TOMR0", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); }if ( $method == '' || $method == "TOMR1" ) { $methods[] = array('id' => "TOMR1", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); }if ( $method == '' || $method == "TOMR2" ) { $methods[] = array('id' => "TOMR2", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); }if ( $method == '' || $method == "TOMR3" ) { $methods[] = array('id' => "TOMR3", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); }if ( $method == '' || $method == "TOMR4" ) { $methods[] = array('id' => "TOMR4", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); }if ( $method == '' || $method == "TOMR5" ) { $methods[] = array('id' => "TOMR5", 'title' => MODULE_SHIPPING_COLISSIMOR_TEXT_TITLE, 'cost' => $table[$i+1] + MODULE_SHIPPING_COLISSIMO_HANDLING); } $j="2"; } } } J'applique la même logique pour les Dom Tom. Ensuite du coté admin j'installe les deux modules: - Colissimo (modifier pour que le R0 soit appliqué dans tout les cas) que je configure avec une sélection automatique du mode de livraison + International desactivé - Colissimoass (modifier pour que les variables soit différentes du fichier d'origine) que je configure avec une sélection automatique du mode de livraison + International activé Tout avais l'air de fonctionné parfaitement mais voila, lorsque je met certain produits dans mon panier la livraison R0 est facturé 0€!!! Voir meme au moment de commander je ne peux plus choisir le mode de livraison, je me retrouve a payer direct sans que le moindre frais de port me soit facturé! J'espère avoir été clair. Si quelqu'un a une idée a ce sujet, je suis preneur car je ne vois pas du tout pourquoi ca bug. Ce message a été modifié par Garga - 23 Feb 2010, 12:19. -------------------- Garga.
Le developpement est un hobby pour moi et non mon metier. Je ne gere qu'un site web, le mien. Merci de votre indulgence. Version OSC & ADDs: oscommerce-2.2rc1-FR-w3c-3 + CCGV_fixed5xx + infoBox_Admin_v2_25_1 + CenterShop + Banner in Header + AntiRobotRegistrationValidation-3.1 + Scrolling Specials + shop by price + login box in header + Quick Stock + French Colissimo Shipping + French Letter Max + Individual Product Shipping Methods + ... |
|
|
20 Feb 2010, 19:33
Message
#2
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2160 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonjour !
Si çà fonctionne, c'est bien. Cependant, habituellement, on duplique les modules ( c'est à dire qu'on enregistre une copie dans catalog/includes/modules/shipping/ et qu'on la renomme - par exemple nom1.php ). On renomme ensuite, à l'intérieur, toutes les occurences du nom en nom1 (classe nom --> classe nom1.... et idem fonction, variables...) bestial, mais rapide et efficace à l'éditeur. Pareil dans les define de catalog/includes/languages/french/modules/shipping/nom1.php (à créer par copie et changer tous les TOTO_NOM en TOTO_NOM1 - éventuellement adapter les commentaires, mais pas urgent) On ne touche pas catalog/shipping.php: il ne fait que de l'affichage et s'adapte aux modules présents par l'utilisation de variables de variables ($$toto). POUR MIEUX COMPRENDRE Tout le secret est dans catalog/admin/modules.php : en quelques lignes Code $file_extension = substr($PHP_SELF, strrpos($PHP_SELF, '.')); $directory_array = array(); if ($dir = @dir($module_directory)) { while ($file = $dir->read()) { if (!is_dir($module_directory . $file)) { if (substr($file, strrpos($file, '.')) == $file_extension) { $directory_array[] = $file; } } } il repère les modules présents (payment, shpping et order_total) et les présente dans l'admin. SUITE DES OPERATIONS: Se connecter à l'admin, aller dans modules puis dans expédition: SURPRISE ! Il y a 2 modules colissimo (ou frais fixes ou...): Se positionner sur le premier, cliquer sur installer, puis le configurer, par exemple sur "sans recommandé" - pas à l'international. sauver. Se positionner sur le second, cliquer sur installer et rebelotte. Les deux options seront proposées, chacune avec leur particularité choisie dans l'admin. Il peut alors être utile de repasser dans catalog/includes/languages/french/modules/shipping/nom.php et nom1.php pour adapter les define plus finement aux cas précis. A vrai dire, cette technique est employable sur tous les modules et je l'ai employée aec succès sur plusieurs d'entre eux. Mais pas sur colissimo. Si çà ne marchait pas, j'aimerai qu'on me le dise. Bon code ! Chti poupon -------------------- Utilisateur de :
|
|
|
21 Feb 2010, 17:18
Message
#3
|
|
![]() Ceinture orange OSC Groupe : Membres Messages : 171 Inscrit : 14-March 07 Lieu : Paris Membre no 15916 |
Bonjour et merci de m'avoir répondu Chti_poupon,
Cependant ce que tu me dis de faire correspond exactement a ce que j'ai fait et la c le bug... As tu d'autres idées??? -------------------- Garga.
Le developpement est un hobby pour moi et non mon metier. Je ne gere qu'un site web, le mien. Merci de votre indulgence. Version OSC & ADDs: oscommerce-2.2rc1-FR-w3c-3 + CCGV_fixed5xx + infoBox_Admin_v2_25_1 + CenterShop + Banner in Header + AntiRobotRegistrationValidation-3.1 + Scrolling Specials + shop by price + login box in header + Quick Stock + French Colissimo Shipping + French Letter Max + Individual Product Shipping Methods + ... |
|
|
21 Feb 2010, 19:04
Message
#4
|
|
![]() Ceinture noire OSC Groupe : TechDev Messages : 2160 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonsoir!
Acceptes mes excuses, car je parlais de cette contrib là : Module Colissimo 20090320 par Philippe Blain C'est celle que j'utilise et je n'ai, pas fait attention à ta référence. Dans celle que je cite, on peut choisir recommandé oui/non ET taux = Auto OU R0,R1.... De toutes façons, nouveaux tarifs au 1/4/10 R1 à R3 seulement grille de poids 0.25;0.5;0.75;.....5;6;7;.... Il va falloir s'y pencher ! Désolé de ne pouvoir aller plus loin. Peut-être les cas qui coincent concernent une partie supprimée ou modifiée ? Chti poupon |
|
|
23 Feb 2010, 12:18
Message
#5
|
|
![]() Ceinture orange OSC Groupe : Membres Messages : 171 Inscrit : 14-March 07 Lieu : Paris Membre no 15916 |
Et bien voila, j'ai tester Module Colissimo 20090320 par Philippe Blain qui fait déja ce que je souhaitais faire avec mon module "d'origine"(Colissimo french post v1.
Merci bien chti_poupon -------------------- Garga.
Le developpement est un hobby pour moi et non mon metier. Je ne gere qu'un site web, le mien. Merci de votre indulgence. Version OSC & ADDs: oscommerce-2.2rc1-FR-w3c-3 + CCGV_fixed5xx + infoBox_Admin_v2_25_1 + CenterShop + Banner in Header + AntiRobotRegistrationValidation-3.1 + Scrolling Specials + shop by price + login box in header + Quick Stock + French Colissimo Shipping + French Letter Max + Individual Product Shipping Methods + ... |
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 21st May 2013 - 13:54 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |