[resolu]Aide pour contrib colissimo, Vignette colissimo en 48 H ou colissimo international |
Bienvenue invité ( Connexion | Inscription )
[resolu]Aide pour contrib colissimo, Vignette colissimo en 48 H ou colissimo international |
2 Nov 2008, 13:29
Message
#1
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 21 Inscrit : 16-July 04 Membre no 2881 |
Bonjour à tous,
et bravo pour toutes ces contributions intéressante . Je suis sur un OScommerce MS2 traduit en FR Je fais appelle à vous pour un problème qui dure depuis plus de trois jours, dont je n'arrive pas à m'en sortir, à vrai dire je suis très novice en php. Voilà sur la contribution COLISSIMO, je souhaiterai mettre sur la page checkout_shipping.php, la vignette colissimo en 48 H si le client se trouve en France et colissimo international si le client se trouve en dehors de la France . Après plusieurs essaies de modification sur la page catalog/includes/modules/shipping/colissimo.php infructueux, je n'arrive pas à faire afficher la vignette qui convient, voici la code Code /***** Class constructor *****/ function colissimo() { global $order; $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; /* Au choix: shipping_laposte.gif, shipping_coliposte.jpg, shipping_colissimo.gif, shipping_colissimo48.gif, shipping_colissimo_inter.gif */ $vignet_colis = ("select entry_country_id from " . TABLE_address_book . " where customers_id = '" . $order->delivery['iso_code_2'] . "'"); if ($vignet_colis == FR) { $this->icon = DIR_WS_ICONS . 'shipping_colissimo48.gif'; } else { $this->icon = DIR_WS_ICONS . 'shipping_colissimo_inter.gif'; } $this->tax_class = MODULE_SHIPPING_COLISSIMO_TAX_CLASS; $this->taux = MODULE_SHIPPING_COLISSIMO_TAUX_RECOMMANDATION; $this->international = ((MODULE_SHIPPING_COLISSIMO_INTERNATIONAL_ENABLED == 'True') ? true : false); $this->avec_accuse_reception = ((MODULE_SHIPPING_COLISSIMO_ACCUSE_RECEPTION == 'True') ? true : false); $this->ad_valorem = ((MODULE_SHIPPING_COLISSIMO_INTERNATIONAL_AD_VALOREM == 'True') ? true : false); /* enabled: nom utilisé par OsCommerce. */ $this->enabled = ((MODULE_SHIPPING_COLISSIMO_STATUS == 'True') ? true : false); $this->too_heavy = 0; $this->quotes = array(); ma modification : $vignet_colis = ("select entry_country_id from " . TABLE_address_book . " where customers_id = '" . $order->delivery['iso_code_2'] . "'"); if ($vignet_colis == FR) { $this->icon = DIR_WS_ICONS . 'shipping_colissimo48.gif'; } else { $this->icon = DIR_WS_ICONS . 'shipping_colissimo_inter.gif'; } ne fonctionne pas, je n'arrive pas à récupérer la entry_country_id qui convient, pour avoir la bonne vignette . Dans le cas de la France le entry_country_id serait égal à 73 donc si 73 alors la vignette qui correspond serait shipping_colissimo48.gif dans le cas échéant se serait la vignette shipping_colissimo_inter.gif J'espère avoir été assez clair sur mes explications, j'aurai préférer trouver la solution par moi même, mais je sèche . Un grand merci à tous . Spoody Ce message a été modifié par spoody - 2 Nov 2008, 20:57. -------------------- OSCommerce MS2 FR, + contrib : products_on_order, Colissimo, stats products, Print Invoice, Online offline,
|
|
2 Nov 2008, 15:29
Message
#2
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
$vignet_colis = ("select entry_country_id from " . TABLE_address_book . " where customers_id = '" . $order->delivery['iso_code_2'] . "'"); if ($vignet_colis == FR) Code un tant soit peu erroné ... Pourquoi une requête SQL alors que l'information est dispo dans l'objet "order" ... et FR c'est une constante ??? En bref : Code /* Au choix: shipping_laposte.gif, shipping_coliposte.jpg, shipping_colissimo.gif, shipping_colissimo48.gif, shipping_colissimo_inter.gif */ if ( $order->delivery['country']['iso_code_2'] == 'FR' ) $this->icon = DIR_WS_ICONS . 'shipping_colissimo48.gif'; else $this->icon = DIR_WS_ICONS . 'shipping_colissimo_inter.gif'; Attention aussi à France FX et France Metropolitaine FR ... |
|
Guest_gob33_* |
2 Nov 2008, 18:08
Message
#3
|
Invité |
Ci-dessus ne marche pas pour les Dom-Tom ou FX.
Solution : utiliser l'aiguillage dans le code selon la destination. 1) Laisser tel quel l'icone par défaut pour le territoire français dans le création de classe: Code $this->icon = $template->get_template_dir('shipping_colissimo48.gif', DIR_WS_TEMPLATE, $current_page_base,'images/icons') . '/' . 'shipping_colissimo48.gif'; Modifier la fonction quote() : 2) Ajouter 1 ligne dans l'international Code default : if ($this->international) { $this->icon = $template->get_template_dir('shipping_colissimo48_inter.gif', DIR_WS_TEMPLATE, $current_page_base,'images/icons') . '/' . 'shipping_colissimo_inter.gif'; if ($origine == 'NAT') $this->_national_vers_international($orig3, $destination, $method_id); elseif ($origine == 'DOM') $this->_dom_vers_international($orig3, $destination, $method_id); else $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY; } else $this->quotes['error'] = MODULE_SHIPPING_COLISSIMO_INVALID_COUNTRY; break; 3) Ajouter les globales en tête de fonction quote() Code global $order, $shipping_weight, $shipping_num_boxes, $template, $current_page_base; 4) Déplacer en fin de fonction l'enregistrement de l'icone. Code ...........................
} /* end switch */ if (zen_not_null($this->icon)) $this->quotes['icon'] = zen_image($this->icon, $this->title); return $this->quotes; } Ce message a été modifié par gob33 - 2 Nov 2008, 18:14. |
|
Guest_gob33_* |
2 Nov 2008, 18:27
Message
#4
|
Invité |
Sorry, je viens de m'apercevoir que j'ai répondu pour ZenCart et non OsCommerce.
De toutes façons, c'est le même principe, les modules sont quasi-identiques, y a qu'a adapter les lignes. |
|
2 Nov 2008, 18:51
Message
#5
|
|
2eme dan OSC Groupe : Bannis Messages : 3022 Inscrit : 12-November 07 Lieu : Massilia Membre no 19718 |
Attention aussi à France FX et France Metropolitaine FR ... Ci-dessus ne marche pas pour les Dom-Tom ou FX. Ce que je disais ... Sorry, je viens de m'apercevoir que j'ai répondu pour ZenCart et non OsCommerce. De toutes façons, c'est le même principe, les modules sont quasi-identiques, y a qu'a adapter les lignes. Sympa pour spoody cette lueur d'espoir |
|
2 Nov 2008, 20:55
Message
#6
|
|
Ceinture blanche+ OSC Groupe : Membres Messages : 21 Inscrit : 16-July 04 Membre no 2881 |
Bonsoir,
Merci à Delete, et Job 33 pour leurs rapidités de réponse, vous m'avez bien sorti de l'embarras, je vais enfin pouvoir poursuivre la construction de ma boutique, dont me servir toujours de la contribution colissimo pour l'adapter aux lettres max . et c'est vrai tu as tout à fait raison delete je me suis complètement planté, alors que le résultat était devant mes yeux, merci encore, et bonne continuation . Spoody -------------------- OSCommerce MS2 FR, + contrib : products_on_order, Colissimo, stats products, Print Invoice, Online offline,
|
|
Version bas débit | Nous sommes le : 29th March 2024 - 16:23 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |