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

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [resolu]Aide pour contrib colissimo, Vignette colissimo en 48 H ou colissimo international
spoody
posté 2 Nov 2008, 13:29
Message #1


Ceinture blanche+ OSC
Icône de groupe

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,
Go to the top of the page
 
delete
posté 2 Nov 2008, 15:29
Message #2


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Citation (spoody @ 2 Nov 2008, 14:29) *
$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 ??? mrgreen.gif

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 ...
Go to the top of the page
 
Guest_gob33_*
posté 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.
Go to the top of the page
 
Guest_gob33_*
posté 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.
Go to the top of the page
 
delete
posté 2 Nov 2008, 18:51
Message #5


2eme dan OSC
Icône de groupe

Groupe : Bannis
Messages : 3022
Inscrit : 12-November 07
Lieu : Massilia
Membre no 19718



Citation (delete @ 2 Nov 2008, 16:29) *
Attention aussi à France FX et France Metropolitaine FR ...



Citation (gob33 @ 2 Nov 2008, 19:08) *
Ci-dessus ne marche pas pour les Dom-Tom ou FX.


Ce que je disais ... blush.gif

Citation (gob33 @ 2 Nov 2008, 19:27) *
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 mrgreen.gif
Go to the top of the page
 
spoody
posté 2 Nov 2008, 20:55
Message #6


Ceinture blanche+ OSC
Icône de groupe

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,
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 : 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)