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

Bienvenue invité ( Connexion | Inscription )

12 Pages V  « < 4 5 6 7 8 > »   
Reply to this topicStart new topic
> Contribution Mondial Relay : votre avis m'interesse
chti_poupon
posté 30 May 2011, 21:46
Message #126


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
Citation
2 - le module ne peut traiter que les commande d'un poids max de 20 Kg car au dela c'est mal avec un code retour "20" (poids erroné).

Dans ma version de test j'ai déja ajouté l'envoie du poinds lors de la requête WSI2_RecherchePointRelais mais cette valeur seule ne permet pas de limiter la requete au point relais XL.
J'attends la réponse sur les paramètres a utiliser pour les colis de plus de 20 Kg.... donc Wait&See.

Attention, mon contrat ne prévoit pas l'envoi de colis de plus de 20 kg ou > 1.5 m (c'est l'équivalent de so colissimo en fait) ni le multi-colis.
Il faut plutôt prévoir une décomposition en n colis < 20 kg comme le fait - imparfaitement d'ailleurs - le module colissimo, chaque colis ayant un poids hypothétique identique pour minimiser les frais :
  1. nb colis : n= int(poids total/20)+1
  2. poids colis : (poids total)/n
Chti poupon
Go to the top of the page
 
chrysalide
posté 30 May 2011, 22:08
Message #127


Ceinture bleue OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1085
Inscrit : 29-November 04
Membre no 3935



Citation (chti_poupon @ 30 May 2011, 21:46) *
Bonjour !
Citation
2 - le module ne peut traiter que les commande d'un poids max de 20 Kg car au dela c'est mal avec un code retour "20" (poids erroné).

Dans ma version de test j'ai déja ajouté l'envoie du poinds lors de la requête WSI2_RecherchePointRelais mais cette valeur seule ne permet pas de limiter la requete au point relais XL.
J'attends la réponse sur les paramètres a utiliser pour les colis de plus de 20 Kg.... donc Wait&See.

Attention, mon contrat ne prévoit pas l'envoi de colis de plus de 20 kg ou > 1.5 m (c'est l'équivalent de so colissimo en fait) ni le multi-colis.
Il faut plutôt prévoir une décomposition en n colis < 20 kg comme le fait - imparfaitement d'ailleurs - le module colissimo, chaque colis ayant un poids hypothétique identique pour minimiser les frais :
  1. nb colis : n= int(poids total/20)+1
  2. poids colis : (poids total)/n
Chti poupon


Salut Chti_Poupon
Mon contrat le prévoit, il prévoit également la livraison a domicile sur rdv mais là sur super soft a géré (une petite grille et hop).

Pour cette particularité (relais XL) j'en saurai plus demain.

et je pondrai un truc optionnel switchable depuis le module.


--------------------
Petit guide pour résoudre tout vos problèmes avec Oscommerce

FORK perso a base de MS2 RC1 FR avec deux trois contribs + pas mal de dev perso + beaucoup (trop ?) d'Ajax + un peu mais pas trop de flash + virer la structure tableau + de feuille de style + pas mal de <DIV id="****">.......... en gros ca ressemble plus trop a l'originale
Go to the top of the page
 
chrysalide
posté 31 May 2011, 14:08
Message #128


Ceinture bleue OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1085
Inscrit : 29-November 04
Membre no 3935



Citation (chrysalide @ 30 May 2011, 22:08) *
Salut Chti_Poupon
Mon contrat le prévoit, il prévoit également la livraison a domicile sur rdv mais là sur super soft a géré (une petite grille et hop).

Pour cette particularité (relais XL) j'en saurai plus demain.

et je pondrai un truc optionnel switchable depuis le module.


Bon et bien c'est pas vendu !

la restriction aux points relais XL n'est pas implémenté dans le webservice confused.gif??: c'était trop simple evil.gif

J'ai reçu la doc de l'EDI......je vais éplucher ça !

Edit :

A la question

Citation
Savez-vous si a court, moyen ou long terme la possibilité de faire des requêtes restrictives sur le webservice est prévu ?


La réponse de mon interlocutrice chez MR est :

Citation
Je n'ai pas la réponse à la question. Il faut compter plutôt long terme.



Damned !


--------------------
Petit guide pour résoudre tout vos problèmes avec Oscommerce

FORK perso a base de MS2 RC1 FR avec deux trois contribs + pas mal de dev perso + beaucoup (trop ?) d'Ajax + un peu mais pas trop de flash + virer la structure tableau + de feuille de style + pas mal de <DIV id="****">.......... en gros ca ressemble plus trop a l'originale
Go to the top of the page
 
techtrad
posté 31 May 2011, 15:05
Message #129


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 15-November 05
Membre no 7843



Bonjour,

j'ai installé cette contrib (merci aux auteurs !).

Je rencontre un problème qui va paraitre très cxx mais bon..

Dans le module il faut rentrer ;
Enseigne
Clé privée
Clé privée (url)
Marque(url)
Marque

J'ai un contrat actif avec MR et on ne m'a communiqué que ceci
Enseigne : EC + xxxxxx
Référence marque : EC+ xxxxxx +xx
Clé privée (8chiffres) : xxxxxxxx

Que faut-il indiquer pour Clé privée (url) et Marque (url) ???

Merci d'avance pour vos lumières
Go to the top of the page
 
chti_poupon
posté 31 May 2011, 17:31
Message #130


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
C'était ce que je voulais dire à chrysalide quant aux dénominations de l'admin.
Trace d'un passé révolu ou prévoyance, les champs avec (url) contiennent la même chose que ceux sans (mais de même nom respectivement).
Chti poupon
Go to the top of the page
 
chti_poupon
posté 2 Jun 2011, 21:45
Message #131


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
Si l'on peut découper la commande en colis de moins de 20 kg, la limite générale étant fixée à 30kg pour colissimo, il faut intégrer cette limite dans les paramètres et éclater en colis identiques, ce qui donne:
catalog/includes/modules/shipping/mondial_relay.php:
Code
<?php
  class mondialrelay{
  
  function log($teste)
  {
  $log = fopen(DIR_FS_CATALOG."/logs/log.txt", "a");
  if($teste!=NULL)
  {
  fprintf($log,print_r($teste,true)."\n");
  }
  else
  {
  fprintf($log,"variable vide\n");
  }
  fclose($log);
  }
  var $code, $icon, $title, $sort_order, $description, $enabled;
  function mondialrelay()
  {
  $this->code="mondialrelay";
  $this->title = MODULE_SHIPPING_MONDIAL_RELAY_TEXT_TITLE;
  $this->sort_order = MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER;
  $this->icon = DIR_WS_ICONS . 'MR RVB.jpg';
  $this->description = MODULE_SHIPPING_MONDIAL_RELAY_DESCRIPTION;
  $this->enabled = ((MODULE_SHIPPING_MONDIAL_RELAY_STATUS == 'True') ? true : false);
  $this->tax_class = MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS;
  $this->frais_fixes = MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES;
  $this->franco = MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER;
  $this->trop_lourd = MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY;
  }
  
  function quote($method = '')
  {
        global $total_weight, $shipping_weight, $shipping_num_boxes;
  //soap
  if($shipping_weight>=0.1)
  {
  global $order, $cart;
  // Début calcul du nombre de colis
          $shipping_num_boxes = 1;
          $shipping_weight = $total_weight;
  
          if (SHIPPING_BOX_WEIGHT >= $shipping_weight*SHIPPING_BOX_PADDING/100) {
            $shipping_weight = $shipping_weight+SHIPPING_BOX_WEIGHT;
          } else {
            $shipping_weight = $shipping_weight + ($shipping_weight*SHIPPING_BOX_PADDING/100);
          }
  
          if ($shipping_weight > $this->trop_lourd) { // Split into many boxes
            $shipping_num_boxes = ceil($shipping_weight/$this->trop_lourd);
            $shipping_weight = $shipping_weight/$shipping_num_boxes;
          }
  // Fin calcul nombre de boîtes
  
  $client = new SoapClient("http://www.mondialrelay.fr/WebService/Web_Services.asmx?WSDL");
  
  $params = array('Enseigne'     => MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE
  ,'Pays'         => $order->delivery['country']['iso_code_2']
  ,'Ville'        => $order->delivery['city']
  ,'CP'           => $order->delivery['postcode']);
  //On crée le code de sécurité
  $code = implode("",$params);
  $code .= MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE;
  
  // On le rajoute aux paramétres
  $params["Security"] = strtoupper(md5($code));
  $pointsRelais = $client->WSI2_RecherchePointRelais($params)->WSI2_RecherchePointRelaisResult;// récupere la liste des points relais
  if($pointsRelais->STAT==0)
  {
  // calcul du tarif
  
  // ajout livraison gratuite
  if ($cart->show_total() >= $this->franco){
  $tarif=0;
  // Fin ajout livraison gratuite*/
  }else{
  $table = split("[:,]" , MODULE_SHIPPING_MONDIAL_RELAY_TARIF);
  $tarifTrouve=true;
  for ($i = 0; $i < sizeof($table); $i+=2) {
  if ($shipping_weight > $table[$i])
  continue;
  if (($shipping_weight < $table[$i]) AND $tarifTrouve) {
  $tarif=$table[$i+1];
  $tarifTrouve=false;
  }
  
  }
  $tarif += $this->frais_fixes;
  $tarif=$tarif*$shipping_num_boxes;
  }
  $methods = array();
  foreach($pointsRelais as $pointRelais)
  {
  if( is_object($pointRelais) && trim($pointRelais->Num) != '' ){
  
  //On crée le code de sécurité
  $code = implode("",$params);
  $code .= MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE;
  
  //On le rajoute aux paramètres
  $params["Security"] = strtoupper(md5($code));
  // Et on effectue la requète
  // $detail_pointrelais = $client->WSI2_DetailPointRelais($params)->WSI2_DetailPointRelaisResult;
  
  $popup_params = array(
  'ens'     => MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL,
  'Num'    => $pointRelais->Num,
  'Pays'   => $pointRelais->Pays
  );
  
  $popup_code = '<'.MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL.'>'.$pointRelais->Num.$pointRelais->Pays.'<'.MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL.'>';
          
  
  $security = strtoupper(md5($popup_code));
  
  $link = 'http://www.mondialrelay.com/public/permanent/details_relais.aspx?ens='. MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL .'&num='.$pointRelais->Num.'&pays='.$pointRelais->Pays.'&crc='.$security;
  
  $methods[]=array('id'     => $pointRelais->Num . $pointRelais->Pays
  ,'title'  => $pointRelais->LgAdr1 ." à  ".$pointRelais->Ville ." ".$pointRelais->CP ." <a onclick=\"
  window.open ('". $link ."', '', 'height=800, width=450, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no');\"><b>Détails</b></a>"
  ,'cost'   => $tarif );
  }
  
  }
  // Début préparation affichage nombre de colis et poids
  $info_plus = ( $shipping_num_boxes>1 ) ? ''. $shipping_num_boxes . ' x ' : '';
  $info_envoi = ' ( '. $info_plus . $shipping_weight . 'kg )    ';
  // Fin préparation affichage nombre de colis
  $this->quotes = array('id' => $this->code,
  'module' => $this->title . $info_envoi,
  'methods' => $methods);
  
  if ($this->tax_class > 0)
  $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
  
  if (tep_not_null($this->icon))
  $this->quotes['icon'] = tep_image($this->icon,$this->title,,,'align="middle"');
  
  return $this->quotes;
  
  }
  else
  {
  $this->quotes = array('module' => $this->title,
  'error' => MODULE_SHIPPING_MONDIAL_RELAY_ERROR);
  return $this->quotes;
  }
  }
  else
  {
  return;
  }
  }
  
  function check() {
  $retourdb = tep_db_query("select configuration_value FROM ".TABLE_CONFIGURATION." WHERE configuration_key= 'MODULE_SHIPPING_MONDIAL_RELAY_STATUS' ");
  $this->checked = tep_db_num_rows($retourdb);
  return $this->checked;
  }
  function remove() {
  tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
  tep_db_query("ALTER table ".TABLE_ORDERS." DROP shipping_pointrelay");
  tep_db_query("ALTER table ".TABLE_ORDERS." DROP shipping_traking");
  }
  
  
  function install() {
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ordre de tri', 'MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER', '0', 'Ordre de tri pour l\'affichage (Le plus petit nombre est montr&eacute; en premier).', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Enseigne', 'MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE', 'xxxxxxxx', 'Enseigne fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Marque', 'MODULE_SHIPPING_MONDIAL_RELAY_MARQUE', 'xxxxxxxxxx', 'Marque fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Clé privée', 'MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE', 'xxxxxxxx', 'Clé fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Marque(url)', 'MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL', 'xxxxxxxxxx', 'Marque(url) fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Clé privée (url)', 'MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL', 'xxxxxxxx', 'Clé fournie par mondial relay.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('activer le module', 'MODULE_SHIPPING_MONDIAL_RELAY_STATUS', 'True', 'activer le module du front', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Civilité Nom Prénom', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD1', '".STORE_NAME."', 'Civilité Nom Prénom(Civilités acceptées:\'MR\',\'M\',\'M.\', \'MME\', \'MLE\' et \'MLLE\').', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Pays d\'expédition', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS', 'FR', 'Pays d\'expédition (Pays acceptés:\'FR\',\'BE\',\'LU\' et \'ES\').', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Rue', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD3', 'mon numéro ma rue', 'Rue.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Ville', 'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_VILLE', 'ma ville', 'ville.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Code Postal', 'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_CP', '99999', 'Code Postal.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Téléphone', 'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_TEL1', '0123456789', 'Téléphone Fixe.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('TVA applicable', 'MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS', '0', 'Sélectionnez la TVA applicable sur le montant de la livraison.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Tarif', 'MODULE_SHIPPING_MONDIAL_RELAY_TARIF', '0.50:3.51,1.00:4.01,2.00:4.60,3.00:5.18,5.00:6.27,7.00:8.03,10.00:9.99,15.00:12.00,20.00:15.01', 'Tarif HT appliqué suivant le poids.', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Frais fixes', 'MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES', '0', 'Frais fixes (emballage).', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Seuil Franco (TTC)', 'MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER', '0', 'Port gratuit à partir de (TTC) en marchandises', '6', '0', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Poids maximum du colis', 'MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY', '20', 'Poids brut maximum (kg) ', '6', '60', now())");
  tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Format des étiquettes', 'MODULE_SHIPPING_MONDIAL_RELAY_FORMAT_PDF', 'A5', 'Format des PDF des étiquettes', '6', '0', 'tep_cfg_select_option(array(\'A4\', \'A5\'), ', now())");
  tep_db_query("ALTER table ".TABLE_ORDERS." ADD shipping_pointrelay char(8)");
  tep_db_query("ALTER table ".TABLE_ORDERS." ADD shipping_traking char(8)");
  }
  function keys() {
  return array("MODULE_SHIPPING_MONDIAL_RELAY_STATUS"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_ENSEIGNE"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_CLE_PRIVEE_URL"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_MARQUE_URL"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_MARQUE"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_TARIF"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_FRAIS_FIXES"
  ,"MODULE_SHIPPING_MONDIAL_RELAY_FORMAT_PDF"
  ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_PAYS'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_AD1'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_Ad3'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_VILLE'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_Expe_EXPE_CP'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_EXPE_TEL1'
  ,"MODULE_SHIPPING_MONDIAL_RELAY_SORT_ORDER"
  ,'MODULE_SHIPPING_MONDIAL_RELAY_TOO_HEAVY'
  ,'MODULE_SHIPPING_MONDIAL_RELAY_TABLE_TAX_CLASS');
  }
  }
  ?>


Cela fonctionne en local à tout le moins !

MAIS je ne sais pas faire les étiquettes correspondantes autrement qu'en manuel (pour le moment) : l'adaptation de mondialrelay_admin reste à faire.

Chti poupon
EDITION : Corrections erreurs code

Ce message a été modifié par chti_poupon - 3 Jun 2011, 08:25.
Go to the top of the page
 
chti_poupon
posté 3 Jun 2011, 22:03
Message #132


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
GAG ! wub.gif
dans l'install.txt du zip il manque:
Code
Puis checkout_process.php: L124 ajouter:

    //DOF
      if(substr($shipping['id'],0,12)=="mondialrelay")
      {
        tep_db_query("update " . TABLE_ORDERS . " set shipping_pointrelay = '" . substr($shipping['id'],-8) . "' where  orders_id = '".$insert_id."'");
      }
    //EOF
  
  entre:
      123 $insert_id = tep_db_insert_id();
  et:
      124  for ($i=0, $n=sizeof($order_totals); $i<$n; $i++) {
      125  $sql_data_array = array('orders_id' => $insert_id,
      126                          'title' => $order_totals[$i]['title'],
      127                          'text' => $order_totals[$i]['text'],
      128                          'value' => $order_totals[$i]['value'],
      129                          'class' => $order_totals[$i]['code'],
      130                          'sort_order' => $order_totals[$i]['sort_order']);


Le champ shipping_pointrelay n'est pas renseigné dans la base !! blink.gif

Je m'aperçois d'un second gag: le choix du point relais ne fonctionne apparemment pas: je reteste sur codes propres et vous tiens au courant.
Chti poupon
Go to the top of the page
 
chrysalide
posté 4 Jun 2011, 08:07
Message #133


Ceinture bleue OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1085
Inscrit : 29-November 04
Membre no 3935



Citation (chti_poupon @ 3 Jun 2011, 22:03) *
Bonjour !
GAG ! wub.gif
dans l'install.txt du zip il manque:


tu as abusé de la blédine ou quoi ?

je viens de verifier c'est le premier fichier qui est demandé de modifier

Citation (chti_poupon @ 3 Jun 2011, 22:03) *
Le champ shipping_pointrelay n'est pas renseigné dans la base !! blink.gif

Je m'aperçois d'un second gag: le choix du point relais ne fonctionne apparemment pas: je reteste sur codes propres et vous tiens au courant.
Chti poupon


blink.gif euh le champ est créé lors de l'install du module et l'insertion dans celui-ci est conditionnée.

j'ai refait un test sur ma rc1 toute fraiche et cela fonctionne très bien..........


--------------------
Petit guide pour résoudre tout vos problèmes avec Oscommerce

FORK perso a base de MS2 RC1 FR avec deux trois contribs + pas mal de dev perso + beaucoup (trop ?) d'Ajax + un peu mais pas trop de flash + virer la structure tableau + de feuille de style + pas mal de <DIV id="****">.......... en gros ca ressemble plus trop a l'originale
Go to the top of the page
 
chti_poupon
posté 10 Jun 2011, 18:46
Message #134


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
Pour l'affichage dans checkout_confirmation.php du nom correct du relais choisi (et non du premier de la liste - systématiquement) il semble bien que cela soit dû à une structure particulière (1 module et 10 méthodes == mondial realy et 10 relais ) alors que de coutume, il y a 1 méthode par module (colissimoexpert recommandéR1 ou colissimoaccess normal)
En conséquence de quoi, il faut modifier checkout_shipping.php (Lignes 117 à 130 incluses MS2.3.1) comme suit :
Code
          if (isset($quote['error'])) {
               tep_session_unregister('shipping');
             } else {
           for ($i=0, $n=sizeof($quote[0]['methods']); $i<$n; $i++) {
  
                    if ( (isset($quote[0]['methods'][$i]['title'])) && (isset($quote[0]['methods'][$i]['cost']) && ($quote[0]['methods'][$i]['id']==$method ||$shipping == 'free_free'))) {
                  $shipping = array('id' => $shipping,
                                     'title' => (($free_shipping == true) ?  $quote[0]['methods'][$i]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][$i]['title'] . ')'),
                                     'cost' => $quote[0]['methods'][$i]['cost']);
    
                   tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
                 }
               }
             }

Testé sur MS2.3.1 et MS 2.2 fraîches avec le module mondialrelay et les modules flat, item, table et zone en place. Tous fonctionnent .
Sur ma MS2.2 complète, çà va aussi.
Merci de tester avec MS2.3 et colissimo et de nous en faire part, (Colissimo n'est pas installé en MS2.3
chez moi.)
Le cas des colis de + de 20 kg n'a pas été testé dans cette configuration
Chti poupon

Edition pour correction du code (cas free_free)

Ce message a été modifié par chti_poupon - 15 Jun 2011, 17:29.
Go to the top of the page
 
chti_poupon
posté 11 Jun 2011, 11:16
Message #135


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour,
Autres problèmes :
PRIMO :
Avec le lien "on click" intégré, la variable title de $methods dépasse 255 caractères et les informations sur la page confirmation, facture, courriel, historique... sont tronquées et le lien vers le détail du relais est inerte - et il manque une parenthèse.
MODIFICATION BASE DE DONNÉES : TABLE order_total :passer à 511 la taille du champ title par structure mysql c'est le plus simple sinon SQL:
Code
ALTER TABLE `orders_total` CHANGE `title` `title` VARCHAR(511) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL

SECONDO :
L'affichage du relais choisi peut être utile au client, même dans le BL où il n'apparaît pas.
Modifier comme suit vers la fin de packingslip.php :
Code
?>
       <tr>
         <td align="left" colspan="8"><table border="0" cellspacing="0" cellpadding="10">
<?php
   for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
     if ( preg_match('/mondialrelay/',$order->totals[$i]['title']) ){
         echo '          <tr>' . "\n" .
                           '<td align="left" class="smallText"><strong>'.ENTRY_SHIPPING_RELAY.'</strong> </td>' . "\n" .
              '            <td align="left" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" .
              '          </tr>' . "\n";
     }
   }
?>
     </table></td>
   </tr>
</table>
<!-- body_text_eof //-->


Avec ajouté à la fin, dans catalog/admin/includes/languages/french/packingslip.php:
Code
define('ENTRY_SHIPPING_RELAY', 'Enlèvement au relais:');


Chti poupon

Ce message a été modifié par chti_poupon - 11 Jun 2011, 13:22.
Go to the top of the page
 
chti_poupon
posté 15 Jun 2011, 17:28
Message #136


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour !
ATTENTION, le code donné plus haut pour checkout_shipping.php est modifié. Il y avait un conflit si le port gratuit par order_total est activé et même MR désactivé caron ne passe plus par la redirection vers checkout_payment.
J'ai donc modifié le "if" comme suit :
Code
                   if ( (isset($quote[0]['methods'][$i]['title'])) && (isset($quote[0]['methods'][$i]['cost']) && ($quote[0]['methods'][$i]['id']==$method ||$shipping == 'free_free'))) {

Chti poupon
Go to the top of the page
 
Snickers
posté 16 Jun 2011, 17:50
Message #137


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 89
Inscrit : 7-January 08
Membre no 20298



Salut all,

Je viens d'installer la contrib donnée ici (ms2) mais malheureusement rien d'affiché coté client dans checkout_shipping.php (local)

Avant j'avais installé la version officielle donnée par MR, peut il y avoir un conflit ?

Je suis en sur un php5.3

.... si vous avez des pistes je suis prenneur

Ce message a été modifié par Snickers - 16 Jun 2011, 17:56.


--------------------
osCommerce 2.3
Go to the top of the page
 
chti_poupon
posté 16 Jun 2011, 20:17
Message #138


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Utilises-tu MS2.2 ou MS2.3
La contrib donnée ici est pour MS2.2.
Par rapport à celle pour MS2.3, :
la modif pour catalog/admin/customers.php est tout à fait différente
Celle de admin/mondialrelaisadmin.php est facile à remplacer (structure tableaux, etc...)
pour catalog/includes/modules/shipping/mondialrelay.php, il y a peu de différences, mais certaines versions de MS2.2 ne gèrent pas true et false de la même façon et il est bon d'avoir
Code
  $this->enabled = ((MODULE_SHIPPING_MONDIAL_RELAY_STATUS == 'True') ? true : false);
dans la fonction mondialrelay de cette classe si l'on souhaite activer/désactiver correctement ce mode d'expédition depuis l'admin.
Par ailleurs, il ne t'aura pas échappé à la lecture des différents messages,
  • que le site test mondial relais est fermé le soir, samedi et dimanche. (avec un vrai code, çà fonctionne 7/7 24/24 comme on ne devrait pas dire)
  • que si ton adresse n'est pas bien renseignée (la mention civilité, nom, ville etc... concerne, c'est clair, l'expéditeur et non le client) ou les codes mauvais, ou encore le site test en repos, il s'affiche (à peu près ) "votre adresse ne doit pas être correcte"
  • que l'édition d'étiquette en local, ne donne qu'un court message en haut à gauche de l'écran admin
Refais bien le tour de ton installation et tiens compte des échangess: une version nouvelle est à paraître...
Chti poupon
Go to the top of the page
 
Snickers
posté 17 Jun 2011, 06:20
Message #139


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 89
Inscrit : 7-January 08
Membre no 20298



Bonjour,
merci pour ta réponse...

Je suis en MS2....... "osCommerce 2.2-MS2"

J'avais noté pour le site de test... j'ai mis mes codes

Citation
•que si ton adresse n'est pas bien renseignée (la mention civilité, nom, ville etc... concerne, c'est clair, l'expéditeur et non le client) ou les codes mauvais, ou encore le site test en repos, il s'affiche (à peu près ) "votre adresse ne doit pas être correcte"


J'ai par contre laissé l adresse par défaut.... mais rien d'affiché quand meme blink.gif
(c'est comme si le module n'était pas activé)

Je vais faire à nouveau l'install.....
Est-ce que je peux exclure que php5.3 puisse être en cause ?!


--------------------
osCommerce 2.3
Go to the top of the page
 
chti_poupon
posté 17 Jun 2011, 08:35
Message #140


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour Snickers,
Citation
Est-ce que je peux exclure que php5.3 puisse être en cause ?!

Retour d'expérience personnelle: Quand mon hébergeur est passé de php 4 à php 5, j'ai chargé en local eazy-php 5.3: Ce qui marchait ne marchait plus (en local s'entend). J'ai donc chargé eazy-php 5.2.10 et çà remarchait normalement (sauf les fonctions "deprecated" <? sans php et autres $toto sans $_GET...)
Je crains que tu n'aies mis le doigt dessus.
Chti poupon

Ce message a été modifié par chti_poupon - 17 Jun 2011, 08:37.
Go to the top of the page
 
Snickers
posté 17 Jun 2011, 09:35
Message #141


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 89
Inscrit : 7-January 08
Membre no 20298



Bon selon moi c'est compatible avec 5.3
Je viens de faire la bascule vers php5.2.6 et le module ne se montre toujours pas...

Dans renseignements serveur j'ai bien Soap d'indiqué.....
Pour ce faire sous easyphp2.0 j'ai décommenté la ligne extension=php_soap.dll (php.ini)

Suis-je dans le vrai ?! Ou ai-je oublié quelque chose ?
(avant je ne l'avais pas d'indiqué dans information serveur)

D'avance merci biggrin.gif

Ce message a été modifié par Snickers - 17 Jun 2011, 09:36.


--------------------
osCommerce 2.3
Go to the top of the page
 
Snickers
posté 17 Jun 2011, 12:45
Message #142


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 89
Inscrit : 7-January 08
Membre no 20298



Bon je viens d'install un OsC de base 2.2 MS2 (en anglais) et j'ai fait l'install dessus.... toujours le même problème :
En local je ne vois pas le module coté client sur la page checkout_shipping
.... je regarde du coté de soap

Edit : bha non soap c'est pareil en local que sur mon serveur, je pense donc que c'est juste

Citation
Soap Client enabled
Soap Server enabled

Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400


Ce message a été modifié par Snickers - 17 Jun 2011, 13:00.


--------------------
osCommerce 2.3
Go to the top of the page
 
chti_poupon
posté 17 Jun 2011, 22:07
Message #143


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour,
mon php.ini local contient ces lignes:
Code
[soap]
; Enables or disables WSDL caching feature.
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
soap.wsdl_cache_ttl=86400

; Local Variables:
; tab-width: 4
; End:

et çà fonctionne
En distant, les renseignements sur le serveur (dans l'admin) me donnent soap actif

Si cette observation peut être utile, car je ne suis pas bien féru dans ce domaine.
Chti poupon
Go to the top of the page
 
chti_poupon
posté 18 Jun 2011, 21:36
Message #144


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Citation (Gnidhal @ 28 Mar 2010, 10:35) *
Oui c'est possible mais il faut coder directement dans le module de shipping que tu utilises.
En effet, le système de frais de port gratuits fonctionne sur la globalité de la commande dans TOUS les cas, il désactive les modules de livraison si le montant dépasse celui fixé dans l'admin.

Tu peux modifier cela directement dans le module de livraison et alors désactiver la livraison gratuite car c'est le module qui va gérer cela.
exemple dans ton module, les modifs doivent être apportées à la method "quote" (fonction de la classe function quote() )
dans checkout_shipping.php tu commences par désactiver l'activation du port gratuit en cas de dépassement de la somme, on reportera cette option dans le module :
Code
  if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) {
     $pass = false;

     switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
       case 'national':
         if ($order->delivery['country_id'] == STORE_COUNTRY) {
           $pass = true;
         }
         break;
       case 'international':
         if ($order->delivery['country_id'] != STORE_COUNTRY) {
           $pass = true;
         }
         break;
       case 'both':
         $pass = true;
         break;
     }

     $free_shipping = false;
     if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {
       $free_shipping = true;

       include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');
     }
   } else {
     $free_shipping = false;
   }
à remplacer par :
Code
$free_shipping = false;
tout simplement.

Dans ton module tu peux alors reprendre cette option de port gratuit, ce qui ne change rien à son usage, c'est toujours le même paramètre qui est pris en compte pour détecter le port gratuit : MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER
Donc dans la methode quote (function quote($method = '')) de ton module de livraison tu vas ajouter :
Code
// ajout livraison gratuite
        
         if ($cart->show_total() >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER){
                $this->quotes['methods'][] = array('id' => $this->code,
                   'title' =>  'Livraison gratuite à partir de '.MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER.'&euro;',
                   'cost' => 0);
               return $this->quotes;
         }
// Fin ajout livraison gratuite*/
après la portion qui commence par $this->quotes = array('id' => $this->code,.... (il faut aller après le )); de cette portion hein ? )
il faudra aussi vérifier les les variables $cart et $shipping_weight sont globalisées dans cette méthode : global $order, $cart, $shipping_weight;

Après tu peux faire ce que tu veux dans cette méthode car c'est elle qui va déterminer le montant du port en fonction de ce que tu veux :
Utilises $cart->show_total() pour connaitre le montant total de la commande par exemple
ou $shipping_weight pour connaitre le poids total de la commande et active ton tarif en fonction de ces variables


smile.gif Bonjour,
L'objectif est multiple:
  1. Afficher un franco différent par mode de livraison : les clients sont rebutés par les frais de livraison et mondial relais n'a pas les tarifs de colissimo, donc désactiver dans catalog/checkout_shipping.php pour l'empêcher d'écraser l'affichage : la méthode de Gnidhal ci-dessus est rapide, élégante et efficace en évitant un remaniement complet de ce fichier
  2. Afficher chaque mode de livraison possible, avec tous les renseignements, mais le prix à zéro quand le franco du mode de livraison considéré est atteint:
    1. modifier catalog/includes/modules/order_total/ot_shipping.php dans sa fonction process comme suit :
      Code
              if ( ($pass == true) && ( ($order->info['total'] - $order->info['shipping_cost']) >= (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER )) ) {
      //          $order->info['shipping_method'] = $this->title;
                $order->info['total'] -= $order->info['shipping_cost'];
                $order->info['shipping_cost'] = 0;
              }
            }
      Une seule ligne à commenter pour dire le quoi et le comment de l'expédition, car gratuit, çà se voit, le prix est à zéro. Bien sûr le module ot_shipping reste actif pour contrôler montant général et affichage du prix du port.
    2. Dans le module mondialrelay.php, franco et boîtes multiples ont été précisées plus haut, selon la méthode Gnidhal déjà citée
    3. Dans le module colissimo.php, c'est dans la méthode _add_method(..) qu'il faut modifier ainsi:
      Code
          $shipping += $frais;
      // ajout livraison gratuite
              if ($cart->show_total() >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER){
                $shipping=0;
              }
      // Fin ajout livraison gratuite

          /* Delais */
      Ne pas omettre d'ajouter $cart dans le global en début de fonction
    4. pour mieux éclairer le client, j'ai explicité les différents niveaux de gratuité dans catalog/includes/languages/frence/chechout_shipping.php avec :
      Code
      define('TEXT_CHOOSE_SHIPPING_METHOD', '<p>Veuillez choisir la méthode d\'expédition que vous preférez utiliser pour cette commande.</p><p><b>Rappel :</b></p><p>Est livrée <b>sans frais</b> toute Commande d\'un <b>montant supérieur à</b> :</p><ol><li><u><b>'.MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER.' &euro; TTC</b></u> en marchandises pour un service <b>à domicile.</b></li><li><u><b>'.MODULE_SHIPPING_MONDIAL_RELAY_FREE_SHIPPING_OVER.' &euro; TTC</b></u> en marchandises pour un service <b>en point relais de proximité.</b></li></ol>');
Au final, le client se voit proposer les différents modes de livraison: colissimos, enlèvement en boutique, enlèvement en relais et choix du relais, livraison de proximité, avec des prix dépendant des conditions propres à chaque module et 0 si un seuil est franchi.
Dans checkout_confirmation, la méthode précise de livraison est explicitée.

Chti poupon
PS Dans mes essais, j'ai introduit le client qui a mis "France Métropolitaine" twisted.gif . La solution consistant à supprimer ce code de la liste n'est pas générale, nos amis de la Réunion, par exemple, ne nous contrediront pas. MAIS Mondialrelay fait "tilt" et c'est chez-eux: leur code ingurgite les données client brutes qu'il faudrait filtrer:
Comme la plupart des français (y io blush.gif ) sont "un peu confused.gif??: " mal à l'aise sur ce distingo il faut résoudre cette question:
arrow.gif Qui a pondu (va pondre) le code permettant, d'après le code postal, de sauvegarder la dénomination correcte que le client ait mis l'une ou l'autre ?
Go to the top of the page
 
dark perles
posté 21 Jun 2011, 10:52
Message #145


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 131
Inscrit : 2-July 06
Membre no 10999



Citation (chrysalide @ 27 May 2011, 13:52) *
je suis en train d'ajouter un truc pas négligeable.

la possibilité d'indiquer "manuellement" le poids du colis avant la création du numéro de tracking afin d'envoyer le poids réel du colis et non le calculé.

Une erreur dans la calcul du poids dans Oscommerce ou si vous avec la main lourde sur le scotch ou les bulles et hop le poids "envoyé" a MR lors de la création du n° de tracking est faux.
Bonjour,

J'attends avant de faire l'installation du module que cette modification soit mise en place.
Car je trouve cela très important que le colis correspond bien à son poids réel.

Pas de nouvelle de chrysalide ?

Ce message a été modifié par dark perles - 21 Jun 2011, 10:53.


--------------------
MS 2.2FR - CenterShop V1.5 - More Pics 6 V1.2 - Ultimate Seo URL 2.1.d - Automatic Thumbnail - Googlexmlsitemap V1.3 - Header Tags V2.5.9.1 - Visible Countries V1.2 - User Tracking with admin 1.4.2 - OderCheck V2 - products on order V1.2 - Who's online turbo V1.1 - Shop by price V2.5 - Send html mail V2 - Paybox_MS2_V2 - Newsletter_products_V2_3 - Discount_coupon_code_V3.3 - Reclamaposte V2.3
Go to the top of the page
 
chrysalide
posté 21 Jun 2011, 11:21
Message #146


Ceinture bleue OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1085
Inscrit : 29-November 04
Membre no 3935



Salut Dark Perles,

Chrysalide, a du mal a prendre le temps en ce moment car il plane à 10 000 mètres d'altitude a cause de sa charge de taf mais il ne désespère pas de trouver le temps pour mettre en place les modifs déjà décrites dans ses précédents posts. biggrin.gif

bon je retourne bosser........ wacko.gif


--------------------
Petit guide pour résoudre tout vos problèmes avec Oscommerce

FORK perso a base de MS2 RC1 FR avec deux trois contribs + pas mal de dev perso + beaucoup (trop ?) d'Ajax + un peu mais pas trop de flash + virer la structure tableau + de feuille de style + pas mal de <DIV id="****">.......... en gros ca ressemble plus trop a l'originale
Go to the top of the page
 
techtrad
posté 29 Jun 2011, 16:31
Message #147


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 31
Inscrit : 15-November 05
Membre no 7843



Bon et bien pour ma part j'ai abandonné l'installation..

Une vraie usine à gaz. J'ai fait appel à un pro (telede pour ne pas le citer) et bien je ne regrette pas !!

En 10 jours l'installation est finalisée et adaptée à mon site (une version creload). Ca marche nickel et l'install personnalisée selon mes désirs.!!

Bref je me rend compte que passer des heures et des heures à essayer de modifier un code bancal à la base c'est du temps et de l'argent perdu.

Bon courage à tous pour votre install...

Go to the top of the page
 
chrysalide
posté 29 Jun 2011, 21:23
Message #148


Ceinture bleue OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1085
Inscrit : 29-November 04
Membre no 3935



Citation (techtrad @ 29 Jun 2011, 16:31) *
Bon et bien pour ma part j'ai abandonné l'installation..

Une vraie usine à gaz. J'ai fait appel à un pro (telede pour ne pas le citer) et bien je ne regrette pas !!

En 10 jours l'installation est finalisée et adaptée à mon site (une version creload). Ca marche nickel et l'install personnalisée selon mes désirs.!!

Bref je me rend compte que passer des heures et des heures à essayer de modifier un code bancal à la base c'est du temps et de l'argent perdu.

Bon courage à tous pour votre install...


c'est pas plutôt le fait que tu sois sous creload qui est bancal ........ !

Que tu es fait appel a un pro comme telede je suis convaincu que tu n'as pas été deçu, il faut savoir passer la main quand on ne sait pas faire mais n'incrimines pas la contrib stp.

cette contrib est prévu pour une ms2 rc1 de base et absolument pas pour une creload (qui n'est plus supportée sur ce forum depuis des années) et j'ai pas mal de retour positif sur son installation.

il reste quelques correctifs a apporter mais celle-ci est fonctionnelles.


--------------------
Petit guide pour résoudre tout vos problèmes avec Oscommerce

FORK perso a base de MS2 RC1 FR avec deux trois contribs + pas mal de dev perso + beaucoup (trop ?) d'Ajax + un peu mais pas trop de flash + virer la structure tableau + de feuille de style + pas mal de <DIV id="****">.......... en gros ca ressemble plus trop a l'originale
Go to the top of the page
 
planetaire
posté 11 Jul 2011, 16:24
Message #149


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 8
Inscrit : 1-March 05
Lieu : LENS
Membre no 4961



Bonjour,

j'ai pu installer la contribution sans problème, mais je suis maintenant confronté au problème d'encodage évoqué par Chrysalide dans le message #125

Code
Fatal error: Uncaught SoapFault exception
SOAP-ERROR: Encoding: string '22 place de la R\xe9publique' is not a valid utf-8 string in /var/www/vhosts/test.fr/httpdocs/admin/mondialrelayadmin.php:147

Il y a d'après mes recherches 2 approches :

1 - changer l'encoding coté déclaration

$client = new SoapClient(WEB_SERVICE,array('encoding','iso-8859-1'));

2 - Encoder les chaînes avant l'envoi par un bataillon de utf8encoding()


quelqu'un a t'il déjà testé une de ces solutions, ou en a trouvé une autre ?

Ce message a été modifié par planetaire - 11 Jul 2011, 18:35.


--------------------
osCommerce Online Merchant v2.2 RC2 W3C Valid FR + STSv4.6 + Ultimate SEO URLs 2.1d + CCGV trad + QTPRO 4.6
Go to the top of the page
 
telede
posté 11 Jul 2011, 17:36
Message #150


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 183
Inscrit : 18-November 09
Membre no 26560



Citation (techtrad @ 29 Jun 2011, 16:31) *
Bref je me rend compte que passer des heures et des heures à essayer de modifier un code bancal à la base c'est du temps et de l'argent perdu.

Citation (chrysalide @ 29 Jun 2011, 21:23) *
il faut savoir passer la main quand on ne sait pas faire mais n'incrimines pas la contrib stp.

Calmez vous, il n'y a ni tort ni raison ;
- Il est forcément logique et convenu qu'une solution commerciale est plus élaborée qu'une solution free, in extenso prenons l'exemple du modèle économique du freeware ou shareware. In stricto sensus, l'OpenSource sinifie ouvert et non pas gratuit.
- Le rendu énergétique : Il est évident que quelqu'un qui développe durant 100 heures une solution largement ciblée est plus efficace que 100 personnes qui développent 1 heure pour leur cas individuel.
- Chrysalide ; tu n'es pas auteur de la contribution initiale tu n'a fait que l'améliorer. La personne à l'origine de la contribution a été rémunérée, et celle d'avant aussi. Il ne faut donc pas te sentir visé par des remarques qui ne te concernent pas, bien au contraire, il est plus remarquable d'améliorer volontairement le quotidien que de se faire à celui qui est imposé par une orientation commerciale.

Donc techtrad a raison, tant mieux pour moi smile.gif
Et Chrysalide aussi, tant mieux pour moi aussi tongue.gif



Citation (planetaire @ 11 Jul 2011, 16:24) *
j'ai pu installé la contribution sans problème, mais je suis maintenant confronté au problème d'encodage évoqué par Chrysalide dans le message #125

Tant mieux pour toi, tant pis pour moi biggrin.gif

Une adresse de livraison, ca s'écrit en majuscule sauf en Chine et au Japon (!), donc ne te gêne pas et utilise le filtre suivant :
Code
          $text = htmlentities($text);
          $text = preg_replace( array('/&szlig;/','/&(..)lig;/','/&([aouAOU])uml;/','/&(.)[^;]*;/'),array('ss',"$1","$1".'e',"$1"),  $text);
          $text = str_replace(array('_', '-', '*', '+')), '/', $text); // a affiner
          $text = preg_replace('/[\x00-\x1F\x21-\x2E\x3A-\x3F\x5B-\x60\x7B-\x7F]/', '', $text);
          $text = strtoupper(trim($text));

C'est radical !


--------------------
The value of a man resides in what he gives and not in what he is capable of receiving. - Albert Einstein
Go to the top of the page
 

12 Pages V  « < 4 5 6 7 8 > » 
Reply to this topicStart new topic
2 utilisateur(s) sur ce sujet (2 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 14:58
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)