Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Modules de Paiement et de Livraison _ SoColissimo Simplicité

Écrit par : telede 9 Nov 2010, 17:32

Bonjour,

Le module So Colissimo Simplicité est disponible en téléchargement sur le site osCommerce

il s'agit d'un module très simpliste permettant l'intégration de l'offre So Colissimo de base par l'intermédiaire d'une page hébergé par la poste.

il faut un contrat pro avec la poste et disposer du code et de la clé de l'API

Cette première version est simpliste et n'est pas optimisée pour expeditor, idéalement pour expeditor il faudrait des champs additionnels... ou un dev spécifique...

Ce module ne bouleverse pas la structure d'osC, il est volontairement une surcouche simple a intégrer (pas de modification de la structure d'osC).

En téléchargement ici => http://addons.oscommerce.com/info/7615

Enjoy

Écrit par : oneill 10 Nov 2010, 17:21

Allons donc !
Le module activé n'apparait pas dans le checkout_shipping



Dans le txt d'install

il y a
3) -------------------------------------------------------------------------------------------------------------------------
admin/orders.php :

au lieu de
3) -------------------------------------------------------------------------------------------------------------------------
includes/classes/orders.php :

je pense.

Écrit par : telede 10 Nov 2010, 17:51

Oui j'ai corrigé le fichier d'install et reposté le module,

Il y avait un bug d'affichage aussi : SoColissimo Simplicite (7 Poids) qui devait être 7 Kg, c corrigé aussi,

Concernant l'apparition du module : j'ai installé une RC1 W3C FR j'ai juste dézippé le module dedans et activé dans l'admin, il apparait bien huh.gif

Écrit par : oneill 10 Nov 2010, 18:48

Chiotte

Je suis sur ma vieille trapanelle qui est pourtant à peu près dans le coup. Je vais essayer sur une autre.

Écrit par : oneill 10 Nov 2010, 19:05

Ca vient de moi

Sur mes autres boutiques, ca fonctionne impec, le module apparait

Écrit par : oneill 11 Nov 2010, 02:23

Ca avance mais à checkout_shipping, je ne peux pas valider mon choix so colissimo j'ai cette erreur et je recharge la page

Détails de l’erreur de la page Web


Message : Objet attendu
Ligne : 16
Caractère : 1
Code : 0
URI : -http://www.xxxxxx.com/catalog/ext/modules/shipping/socolissimos/socolissimos.js



(D'accord, je suis pas sur ma bécane du boulot.... Je manque de tout - vous moquez pas lol)

Écrit par : telede 11 Nov 2010, 09:16

Yes, A force de penser que tout le monde a jQuery dans le head de sa boutique voilà ce qui arrive !

donc la modification a apporter à checkout_shipping est la suivante :

Penser a downloader jQuery dans le repertoire js/ et mettre les lignes suivante dans checkout_shipping.php :

Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>


les corrections ont été faites dans le module en téléchargement sur le site osCommerce

ou mieux loader jQuery dans la page http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/

Citation (oneill @ 11 Nov 2010, 02:23) *
(D'accord, je suis pas sur ma bécane du boulot.... Je manque de tout - vous moquez pas lol)
Tu fais une grosse mise à l'épreuve oui : testé avec un vieil IE tongue.gif

Écrit par : oneill 11 Nov 2010, 09:22

Bande de méchants.... (le bon message d'erreur est : $ is not defined)

Bonjour tout le monde. Vais-je arriver à faire voler ces pu**** de facteurs ?


Je n'utilise pas JQuery à cet endroit

Écrit par : oneill 11 Nov 2010, 10:11

Bien, j'arrive, ou plutôt, je pars mais la page sandwich me claque la porte au nez avec un beau

Code
string(8) "011 004 " errorcode:

rien après (pas de var_dump)

Écrit par : telede 11 Nov 2010, 11:48

La documentation me dit ca :

Citation
004
Champs obligatoire manquant Il manque un paramètre obligatoire dans les
paramètres d’appel :
- Frais d’expédition
- N° transaction
- URL retour Echec
Bloquant


Pour voir la liste des champs transmis tu remplace dans l'url de ton navigateur checkout_shipping.php par ext/modules/shipping/socolissimos/socolissimos.php et tu fais afficher le code source ...

Écrit par : oneill 11 Nov 2010, 12:28

Ok je vois ca, merci

Quand le module est désactivé, les lignes

Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>

provoquent un bloquage de la page checkout_shipping il ne faudrait les rendre actives que lorsque le module est activé.


##########EDIT#########"
Désolé d'être tout seul à débugger ou à avoir un peu de soucis, pour le coup, ca fait un peu boulet j'en conviens.

Écrit par : oneill 11 Nov 2010, 13:11

Je ne vois rien de bizarre

Code
<div style="display:none">
<form name="formpudocall" action="http://ws.colissimo.fr/pudo-fo/storeCall.do" method="post">
<input type="hidden" name="pudoFOId" value="054xxxxxxxxxx29" />
<input type="hidden" name="ceName" value="Oneill" />
<input type="hidden" name="dyPreparationTime" value="1" />
<input type="hidden" name="dyForwardingCharges" value="12.90" />
<input type="hidden" name="trClientNumber" value="8591" />
<input type="hidden" name="orderId" value="201011111307448591" />
<input type="hidden" name="numVersion" value="3.0" />
<input type="hidden" name="ceCivility" value="MR" />
<input type="hidden" name="ceFirstName" value="Jack" />
<input type="hidden" name="ceCompanyName" value="SARL xxxxxxxx" />
<input type="hidden" name="ceAdress3" value="6 RUE xxxxxxxxx" />
<input type="hidden" name="ceAdress4" value="" />
<input type="hidden" name="ceZipCode" value="35xxx" />
<input type="hidden" name="ceTown" value="LxxxxxIN" />
<input type="hidden" name="ceEmail" value="oneill@xxxxxxxx.com" />
<input type="hidden" name="cePhoneNumber" value="029xxxxx25" />
<input type="hidden" name="dyWeight" value="3080" />
<input type="hidden" name="trPointRelais" value="0" />
<input type="hidden" name="trReturnUrlKo" value="http://www.xxxxxxx.com/catalog/checkout_shipping.php" />
<input type="hidden" name="trReturnUrlOk" value="http://www.xxxxxx.com/catalog/checkout_shipping.php" />
<input type="hidden" name="signature" value="86b62e64cc13df37212cbe4fcefda9a365d0cc57" />
</div></form><script type="text/javascript">
$(document).ready(function() {
    $('form[name=formpudocall]').submit();
});
</script>

Écrit par : oneill 11 Nov 2010, 14:00

En erreur 011 il y aussi

Numéro de transaction non
valide

Le numéro de transaction transmis dans les
paramètres d’appel n’est pas valide.

Bloquant


Le ORDERID ??

A la suite de ca peut être

Code
$fields .= '<input type="hidden" name="orderId" value="' . $order_id  .'" />'; // n° de commande, inexistant a ce stade


J'en met un en dur et je test

Écrit par : dvf 11 Nov 2010, 14:08

<input type="hidden" name="cePhoneNumber" value="029xxxxx25" />


le tél c 'est 06/07 obligatoire
*


Écrit par : oneill 11 Nov 2010, 14:10

J'ai mis un orderid en dur
<input type="hidden" name="orderId" value="18000" />
qui passe bien


Mais j'ai cette erreur
string(4) "004 "

Il manque un champs obligatoire. Je fais un pointage.

Écrit par : dvf 11 Nov 2010, 14:12

Le numéro de transaction doit être :
· renseigné
· compris entre 5 et 16 caractères alphanumériques


tu en as 18

voilà ton bug est là c'est un champs bloquant

faut réduire chef ;=)

Écrit par : oneill 11 Nov 2010, 14:19

Je l'ai réduit à 5 plus haut. J'ai toujours un champs obligatoire manquant

Je modifie le tel

Écrit par : oneill 11 Nov 2010, 14:25

Le tel ne change rien
<input type="hidden" name="cePhoneNumber" value="0606060606" />

L' ORDERID trop long est effectivement la raison de l'erreur 011. Je n'ai plus que la 004


J'ai changé l'urlOK de checkout_shipping en checkout_payment


Reste la validité de la signature envoyée.

Écrit par : oneill 11 Nov 2010, 14:56

Je pense à un truc peut être bête : Sur les url de retour KO ou Ok, il ne faut y ajouter un OscId ?

Écrit par : dvf 11 Nov 2010, 15:03

value="http://www.xxxxxxx.com/catalog/checkout_shipping.php

c'est forcement payment ici

Si le site de la poste est HS

il met de manière automatique la livraison à domicile



Écrit par : telede 11 Nov 2010, 15:21

Citation (dvf @ 11 Nov 2010, 14:08) *
le tél c 'est 06/07 obligatoire

Non pas à l'appel de l'API ...

Citation (dvf @ 11 Nov 2010, 14:12) *
· compris entre 5 et 16 caractères alphanumériques

Il peut y avoir une erreur à ce moment là ... je vais corriger, mais sur un osC vierge ca passe sans problème

Citation (oneill @ 11 Nov 2010, 14:56) *
Je pense à un truc peut être bête : Sur les url de retour KO ou Ok, il ne faut y ajouter un OscId ?

C'est implicite avec tep_href_link() normalement ....

Citation (oneill @ 11 Nov 2010, 14:56) *
<input type="hidden" name="trPointRelais" value="0" />

Mon petit doigt me dit que c'est à cet endroit la le problème, il s'agit d'une livraison a une adresses physique donc pas de point relais, je vais corriger ma copie wink.gif

Écrit par : dvf 11 Nov 2010, 15:27

oui

pour ceux qui utilise so colissimo

il est quand mêùe impératif de modifier les champs de langue téléphone en portable et le rendre obligatoire et champs 2 le téléphone fixe.

Car , même si sur l'api c 'est pas bloquant pour arriver sur la page , il l'est pour valider son choix de colis.

Donc si le champs est a rettaper par l'utilisateur , qui peut ne pas voir les étoiles rouge toutes petites.

C'est une perte de conversion non négligeable tongue.gif

Écrit par : oneill 11 Nov 2010, 15:31

Citation (telede @ 11 Nov 2010, 15:21) *
Citation (dvf @ 11 Nov 2010, 14:12) *
· compris entre 5 et 16 caractères alphanumériques

Il peut y avoir une erreur à ce moment là ... je vais corriger, mais sur un osC vierge ca passe sans problème

Citation (oneill @ 11 Nov 2010, 14:56) *
Je pense à un truc peut être bête : Sur les url de retour KO ou Ok, il ne faut y ajouter un OscId ?

C'est implicite avec tep_href_link() normalement ....



Ca passe pour une osc neuve car, les ID de client ne sont pas long et avec la date t'es dans les clous, pour une plus vieille boutique avec des dizaines de milliers de clients ca dépasse.


Pour les OscId, comme je disais c'est bête ce que je dis....



Pour la signature il est dit
Code
Certains des champs ci dessus ne sont pas obligatoires. S’ils ne sont pas transmis
par votre site web, ils ne doivent pas être pris en compte dans le calcul de la signature.

Mais est ce que ca veux dire qu'il faut mettre dans la signature tout ce qu'on transmet en clair ?

Écrit par : telede 11 Nov 2010, 16:07

Citation (dvf @ 11 Nov 2010, 15:27) *
C'est une perte de conversion non négligeable tongue.gif

Oui mais la on parle déjà de faire fonctionner le module, pas de problèmatique marketing, même si c'est a prendre en compte ensuite ... il est vrai qu'il est stupide qu'un champ n° de mobile soit requit pour valider une expédition, je te l'accorde wink.gif

Citation (oneill @ 11 Nov 2010, 15:31) *
Pour la signature il est dit
Code
Certains des champs ci dessus ne sont pas obligatoires. S’ils ne sont pas transmis
par votre site web, ils ne doivent pas être pris en compte dans le calcul de la signature.

Mais est ce que ca veux dire qu'il faut mettre dans la signature tout ce qu'on transmet en clair ?

Alors la doc de la poste venons y : J'ai pris la doc au pied de la lettre : rien a faire je suis tombé en erreur a chaque fois, des centaines d'essais...
j'ai pris l'exemple d'appel (qu'ils ne te fournissent que si tu passes de long moment d'amitié avec eux, certes ils sont sympa aux services techniques...) et la tu arrives a faire fonctionner l'API avec ce kit de démo qui transmets la clé en clair ...
Ensuite tu épures et tu arrives au résultat et tu enlèves la clé !
Mais avec la réflection :
Concaténation des champs requis : x + y +z, si "y" est vide ca donne forcément x+z donc c'est bon... x + y + z, si "y" est à 0 (int) le résultat n'est pas concluant meme si valeur numérique et donc un rejet !

Concernant la signature, tu n'as rien a toucher, il faut juste que cette problèmatique de concaténation des champs soit résolue, et celle ci n'est pas forcément la meme chez tout le monde, c'est pour ca que ca ne fonctionne pas chez toi.

En bref, on ne va pas critiquer le travail des autres, mais il aurait été plus simple de constituer une clé à partir de n champs fixes, là elle est calculée sur n champs qui sont variables blink.gif

Pour l'URL de retour, je n'ai pas testé, mais si le site fonctionne en cookies, il est possible que cela ne fonctionne pas, il serait peut etre judicieux de passer dans l'URL un numéro de commande ou un hash quelconque afin d'y retrouver ses petits .... ceci dit le problème ne sera qu'au retour là on est à "l'aller" lol

A voir, tu m'as l'air bien lancé : la théorie fonctionne, il faut voir la pratique, paradoxalement, sur Liberté censé être plus compliqué, ca fonctionne du premier coup !

Écrit par : telede 11 Nov 2010, 19:24

Citation (oneill @ 11 Nov 2010, 12:28) *
Quand le module est désactivé, les lignes
Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>

provoquent un bloquage de la page checkout_shipping il ne faudrait les rendre actives que lorsque le module est activé.

J'ai rajouté dans le .js après :
Code
var module = $('input[value="socolissimos_socolissimos"]');

La ligne :
Code
if ( module.attr('name') != 'shipping' ) return(false);

Qui évite donc le blocage, j'uploaderais ca lors de la prochaine mise a jour

Écrit par : oneill 11 Nov 2010, 22:47

C'est mieux avec ca.

Demain, c'est peaufinage de signature...

Écrit par : oneill 14 Nov 2010, 06:40

SoColissimo HS une partie de la nuit angry.gif

Faut faire le test sur http://ws.colissimo.fr/supervision-pudo/supervision.jsp avant d'afficher le module

fgets() ne fonctionne pas chez moi, si quelqu'un a une idée ?

Écrit par : dvf 14 Nov 2010, 09:01

je vous ai pourtant expliquer ce problème dès le débit , payer quelques € pour une contrib qui évite celà !

et on est pas à noel ... ou en grosse période !

de la folie pour toi oneil qui fait un CA important , prendre un risque aussi grand :S

Tu prend ton colis annuel et tu divise par le prix lol smile.gif

tu fais le même calcul , avec la perte de commande sous simplicité gratuite mais qui pourra toujours avoir un soucis !

Écrit par : oneill 14 Nov 2010, 10:07

Et la, je suis pété de rire !

Qui m'a dit que leur bouzin n'ouvrait que pendant les heures de bureau ? Comme tu dis, heureusement qu'on n'est pas à Noël !!! (la c'est toujours pas revenu, rooooooooo et le pire c'est que la page du lien en dessus qui doit marquer [KO] quand c'est indisponible est ... indisponible)

Enfin bon on s'en était bien passé jusque la. Mais je trouve dvf un peu dur avec la poste et moi. Si, si... Peut être que personne n'a dit à la femme de ménage qui bosse la nuit qu'il ne fallait pas débrancher cette prise, près du gros ordi pour y mettre son aspirateur, hein, c'est facile de dire après...

Remarque, j'ai bien vu me retrouver planté l'année dernière avec un chronopost.fr aux abonnés absents avec une cargaison de bons à éditer. J'ai pas leur appli sur mon iphone non plus.


C'est comme pour le système de paiement par carte, je n'ai pas voulu le faire moi même, est ce que je dois avoir la même crainte ? Parce que la, le client, il se barre de notre site pour payer et ca fait rire personne car ca peut tomber en rideau comme le reste.

Bon aller, bon dimanche !

Écrit par : dvf 14 Nov 2010, 10:31

non mais la poste abuse

c'est déjç la deuxième fois que je vois le service simplicité en rade en 10 jours !

Une fois l'après midi environ 4h , le jour ou mon commercial venait me voir pour installer lui même la maj d'expeditor ....

ct en rade tongue.gif LOL

Le problème est grave , car , leur site n'est pas encore au début de leur peine quand c'est de milliers de site qui appelleront la page.

Serveur qui tombe en rade si la charge est mal réparti ect ...


Mais , j'y crois pas du tout au simplicité ... c 'est pour sa.

Mais il est là , donc autant faire avec pour ceux qui le veulent ;:)



Écrit par : oneill 14 Nov 2010, 10:44

Ah ben la, ils en font la démonstration la plus criante qui soit... MDR quand même

Et j'allais le démarrer demain

Écrit par : oneill 14 Nov 2010, 11:14

De mieux en mieux : le service est revenu mais l'url de supervision est toujours indisponible...

Écrit par : dvf 14 Nov 2010, 14:02

mdr , allez oneil , rappelle ton commercial passe en liberté va , j'ai d'ailleurs pas eut de contrat simplicité mais ils ont inclu des pénalités si le service est HS ???

MDr ...

Écrit par : oneill 17 Nov 2010, 15:00

Bon, je m'y suis remis

Et la, bloqué !
Y a un truc qui doit m'échapper : pas moyen de modifier le prix du transport avec l'ajout du cout du RDV. J'ai beau essayer dans tous les sens, nada...
Je perds la variable en cours de route....

Si quelqu'un avait une chtite idée ?

Écrit par : oneill 18 Nov 2010, 18:00

Ca y est... So Colissimo Simplicité est en place chez moi.

(Merci Olivier wink.gif )

Rapidement, je mettrai ici les ajouts à faire pour enregistrer les Codes porte ainsi que les Commentaires client pour les RDV et les DOM.

Écrit par : telede 18 Nov 2010, 19:58

Bein : suite à nos tests réciproques j'ai fait un upgrade : http://addons.oscommerce.com/info/7615

wink.gif

Pour le titre, promis/juré que j'ai pas fait exprès et que je me suis gouré entre "Simplicité" & "Liberté" ! c'est l'autocompletion de FF qui l'a fait

Je corrigerais dans le prochain post du module, sinon je sais qu'il y en a qui on assez d'influence pour le faire a ma place lol

Écrit par : oneill 19 Nov 2010, 23:16

J'ai eu des petits soucis d'encodage notamment avec les voyelles accentuées dans les chaines que l'on passe à la page sandwich. J'ai du appliquer ceci par exemple

Code
      $firstname = utf8_encode($firstname);
et tout est rentré dans l'ordre (je suis en iso-8859-1)

J'ai des questions au sujet du Cityssimo. Ne doit on pas laisser l'adresse de livraison du domicile du destinataire, plutôt que de la remplacer par l'adresse de la consigne Cityssimo ?
En effet, dans Expeditor, l'adresse du city est donnée avec le code du point de livraison et dans le contrat, il est stipulé qu'en cas de colis trop gros pour le casier de la consigne, il sera livré au destinataire... Mais si on n'a pas l'adresse, ca risque d'être vite critique. As tu des infos la dessus ? De toute façon, à aucun moment, le formulaire ne demande au client son n° d'abonné Cityssimo !!

Petite surprise aujourd'hui avec un client : Durant son passage à la page de saisie Soco., il n'a pas de n° de tel mobile d'enregistré sur sur compte. Il doit donc en rentrer un sur son formulaire pour le valider. Seulement moi, j'en savais rien ! J'ai du créer une table supplémentaire pour le mobile et, tant que j'y étais, une aussi pour l'email que la personne peut changer en cours de route.

Autre point : Comme on récupère les données des comptes clients qui sont parfois fait à la va comme je te pousse, il y a parfois des erreurs bloquantes avec un affichage de la page des dump d'erreur. Je pense en faire une page présentable pour le client qui tombe dessus avec lien de retour vers checkout_shipping.


Pour les civilités, rien n'étant défini par défaut, il faut indiquer les deux codes possibles :
Code
      if ( $shipping_address['entry_gender'] == 'm' )
      {
        $civility = "MR";
        }else{
        $civility = "MME";
        }
        $fields .= '<input type="hidden" name="ceCivility" value="' . $civility . '" />';

Sinon, si c'est une femme, rien n'est coché.


Pour MODULE_SHIPPING_SOCOLISSIMOS_RELAIS, c'est un boléen qui doit aller avec trFirstOrder. Mais il n'est pas pris en compte.
Donc après
Code
      $fields .= '<input type="hidden" name="trClientNumber" value="' . $customer_id . '" />';
      $hash .= $customer_id;
il faut ajouter
Code
      $fields .= '<input type="hidden" name="trFirstOrder" value="' . $relais . '" />';
      $hash .= $relais;
Mais il faut modifier le selecteur de
Code
      $relais = preg_match('/Oui|True/i', MODULE_SHIPPING_SOCOLISSIMOS_RELAIS) ? 1 : 0;
en
Code
      $relais = preg_match('/Oui|True/i', MODULE_SHIPPING_SOCOLISSIMOS_RELAIS) ? 0 : 1;
Car d'après la poste, NON = Ca marche et OUI = Ca ne marche pas !!
(page 26 du guide d'intégration - Ca ne s'invente pas)

Il faut aussi modifier dans le module :
Code
      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 ('Livraisons hors domicile', 'MODULE_SHIPPING_SOCOLISSIMOS_A2P', 'Oui', 'Accepter la livraison hors domicile (Relais Commer&ccedil;ants, Bureaux de Poste)', '6', '0', 'tep_cfg_select_option(array(\'Oui\', \'Non\'), ', 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 ('Livraisons relais commer&ccedil;ants', 'MODULE_SHIPPING_SOCOLISSIMOS_RELAIS', 'Oui', 'Accepter la livraison en Relais Commer&ccedil;ants ?', '6', '0', 'tep_cfg_select_option(array(\'Oui\', \'Non\'), ', now())");
à remplacer par
Code
      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 ('Livraisons hors domicile', 'MODULE_SHIPPING_SOCOLISSIMOS_RELAIS', 'Oui', 'Accepter la livraison hors domicile (Relais Commer&ccedil;ants, Bureaux de Poste)', '6', '0', 'tep_cfg_select_option(array(\'Oui\', \'Non\'), ', 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 ('Livraisons relais commer&ccedil;ants', 'MODULE_SHIPPING_SOCOLISSIMOS_A2P', 'Oui', 'Accepter la livraison en Relais Commer&ccedil;ants ?', '6', '0', 'tep_cfg_select_option(array(\'Oui\', \'Non\'), ', now())");
C'est à dire qu'on inverse les deux, ce qui est plus logique : On autorise ou pas la livraison hors domicile dans sa totalité, ce qui est le seul pouvoir de trFirstOrder dans Simplicité

Écrit par : oneill 20 Nov 2010, 16:25

J'ai adapté Expeditor inet... On n'est pas couché.
Il faut déjà tout séparer, à commencer par le nom et le prénom.

Ensuite en Hors domicile, il faut conserver l'adresse du destinataire (propriétaire du compte ou tiers), l'adresse du dépôt quelle qu'elle soit, est inscrit automatiquement sur l'étiquette. Il faut absolument conserver l'adresse de celui qui a demandé ce dépôt.
(Pages 42 à 47 du guide d'utilisation d'Expéditor version 3.2)

L'importation vers Expéditor tourne, je vais adapter tranquillement. Mais je peux déjà bosser.

Écrit par : oneill 22 Nov 2010, 19:48

Bon, aller, tout baigne : Expeditor & SoColissimo ronronnent comme des petits chats. smile.gif Me reste plus que les recommandations à y passer, histoire de ne plus y retoucher.

La nuit, SoColissimo est souvent en maintenance et pour ne pas avoir de désagrément, j'ai ajouté un test sur la fameuse URL de supervision fournie par la poste...

A ajouter dans le module

Tout d'abord la fonction en Curl

Code
function http_fetch_url($url, $timeout)
{
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}


Puis le test en lui même après $dest_country = $order->delivery['country']['iso_code_2'];
Code
// Test Url de Supervision
if (basename($_SERVER["PHP_SELF"]) == FILENAME_CHECKOUT_SHIPPING ) {
$content = http_fetch_url('http://ws.colissimo.fr/supervision-pudo/supervision.jsp', 10);

  if(stristr(htmlentities($content), '[OK]') === FALSE) {
            $this->enabled = false;
              return(false);
  }
}


Je ne fais pas le test sur [KO], vu que cette page peut être elle aussi en carafe !

Il peut y avoir un ralentissement à l'affichage. C'est pourquoi le test ne se fait que sur la page checkout_shipping (utile pour ceux qui ont estimator par exemple). Vous pourrez mettre ce test ailleurs et afficher ce que vous voulez. La, ca coupe le module et socolissimo n'est plus proposé donc pas de client qui se fâche..

Écrit par : telede 22 Nov 2010, 22:46

Citation (oneill @ 22 Nov 2010, 19:48) *
A ajouter dans le module
...
Tout d'abord la fonction en Curl

En bref il faut un patch pour vérifier que le site de la poste ne soit pas planté pour enregistrer des commandes, sinon on prend un papier, un crayon, et on note sur la liste d'attente.... blink.gif

Écrit par : oneill 22 Nov 2010, 22:48

Ben en gros, oui

Je les ai appelé cet après midi et ils m'ont confirmés ces coupures la nuit pour de la maintenance ou des mises à jour et que c'est pour cela qu'ils ont créés cette url de supervision.

Écrit par : dvf 23 Nov 2010, 07:42

j'ai déjà fait le taff de l'export si sa te dit .

Écrit par : oneill 23 Nov 2010, 09:15

Salut dvf

L'export pour Expéditor ? Si oui, pas besoin, c'est bon , je veux juste inclure le taux de recommandation en plus tant qu'à faire, c'est juste une question de temps.
Je te remercie en tous les cas.

Écrit par : oneill 30 Nov 2010, 12:55

Bon, je m'accroche...

J'ai un soucis avec les commentaires client laissés en checkout_shipping. Ils ne suivent pas ! Ils sont pourtant enregistrés en session (en théorie) comme pour les autres modules. Mais rien y fait, si Socolissimo est mon premier choix de transport, c'est cuit, j'arrive sur chekout_payment avec les commentaires à vides. Si je vais d'abord choisir un autre transport, c'est bien enregistré et restitué la page suivante et je peux choisir socol, ca va aller.
J'ai ajouté dans le module et dans socolissimo.class ce que je crois être suffisant, mais non !

Quelqu'un aurait'il une meilleure idée ?

Écrit par : jumper 1 Dec 2010, 10:46

Bonjour,
J'ai installé et activé le module so colissimo, et d'entrée lorsque je vais sur le checkout_shipping.php, j'ai ce message d'erreur:

Code
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in monsite/ext/modules/shipping/socolissimos/socolissimos.class.php on line 28


ça part mal....

Écrit par : telede 1 Dec 2010, 11:03

le PHP5 existe depuis au moins 5 ans ...

comme tu dis ca part mal lol

Écrit par : oneill 1 Dec 2010, 11:14

@ Telede
Tu remarqueras que même moi j'ai fini par m'y mettre smile.gif

Écrit par : telede 1 Dec 2010, 13:11

Meme les vieux s'y mettent ? wink.gif

J'ai eu un feedback d'un "voisin" qui dit ne plus supporter le 4 depuis un an ...

j'ai absolument pas fait l'effort de vérifier, pourtant c'est un bout de code pas tres evolué, j'aurais put

Écrit par : jumper 1 Dec 2010, 14:03

Qu'est ce que je peux faire alors ? il s'agit d'une boutique déjà en prod, la migration vers php5 est tres compliquée.....
J'ajoute que j'ai fait l'essai sur une 2.3 et l'erreur reste la meme... je suis largué
EDIT:
Bon apres avoir fait une pause et repris mes esprist, j'ai résolu le bug mais maintenant, le module activé depuis l'admin, l'option so-colissimo ne s'affiche pas dans le checkout_shipping. Je n'ai pas encore les identifiants et clé marchand. Est ce que c'est pour ça ?

Écrit par : oneill 1 Dec 2010, 17:05

Regardes si tu as bien

Code
// load all enabled shipping modules
  require(DIR_WS_CLASSES . 'shipping.php');
  $shipping_modules = new shipping;
quelque part dans checkout_shipping. Il y a eu des contribs qui demandaient d'enlever ces lignes pour les mettre dans application_top

Écrit par : jumper 1 Dec 2010, 17:12

oui, ces lignes sont présentes dans le check_out_shipping

Écrit par : oneill 1 Dec 2010, 17:15

Citation (jumper @ 1 Dec 2010, 14:03) *
Je n'ai pas encore les identifiants et clé marchand. Est ce que c'est pour ça

Non

Désinstalle et réinstalles ton module, une fois désinstallé, vérifies dans ta base si c'est effectivement fait (table configuration) au cas où

Mais, normalement, à ce niveau, ca fonctionne du premier coup

Écrit par : jumper 1 Dec 2010, 17:31

Ok, merci beaucoup O'neill, en fait apres mes modifs pour la correction du bug, j'aurai du desisntaller le module. Ce que je viens de faire et ares l'avoir installé à nouveau, l'option est maintenant présente.... par contre impossible de continuer sur checkout_paiement... encore un grain de sable ...

Écrit par : oneill 1 Dec 2010, 17:35

C'est à dire ? Précises

Petit conseil sur les modules qu'on bricole. Tant que tu touches à la partie calcul, on va dire, pas de problème. Si tu touches à la partie base de données du module, pas bon ! Il faut toujours désinstaller le module avant de uploader le nouveau, faire un F5 sur la page des modules et réinstaller le nouveau..

Écrit par : jumper 1 Dec 2010, 18:40

Ben, lorsque j'essaie d'acceder au paiement en cliquant sur continuer, la page est rafraichie mais on est toujours sur le check_out_shipping...

Écrit par : oneill 1 Dec 2010, 18:56

Le jQuery est il installé et appelé correctement ?

Écrit par : samsayah 1 Dec 2010, 22:59

Hello

J'ai le même problème que Jumper :

parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in :
www/ext/modules/shipping/socolissimos/socolissimos.class.php on line 28

mon jQuery est bien dans /js et appelé dans checkout_shipping :

<head>
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>

Merci de votre aide

Écrit par : oneill 1 Dec 2010, 23:26

Citation (samsayah @ 1 Dec 2010, 22:59) *
Hello

J'ai le même problème que Jumper :

parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in :
www/ext/modules/shipping/socolissimos/socolissimos.class.php on line 28

Tu es en PHP4 ?
Aie

Écrit par : samsayah 1 Dec 2010, 23:33

Oui

Y a pas moyen de contourner ?

Je suis chez ovh et les 2 méthodes données pour exécuter du php5 ne fonctionnent pas (mettre un script en .htaccess ou modifier l'extension .php en .php5)

Une idée ?

Écrit par : FoxP2 1 Dec 2010, 23:46

PHP4 ou PHP5, qu'importe, il s'agit de rester en conformité (et donc adapter le code en fonction) avec les prérogatives d'oscommerce.com :
rappel d'harald : http://forums.oscommerce.com/topic/364291-oscommerce-v-23-when/page__view__findpost__p__1543983

on peut extrapoler sur les anciens plugin jquery qui ont de forte chance de ne plus être compatible avec la librairie actuelle incluse dans le framework de la 2.3.

inutile de troller mon post*, ce n'est pas moi qui établie les règles.

* je les vois arriver avec leurs gros sabots de paysans à 10 km !

Écrit par : oneill 1 Dec 2010, 23:54

Citation (FoxP2 @ 1 Dec 2010, 23:46) *
PHP4 ou PHP5, qu'importe, il s'agit de rester en conformité (et donc adapter le code en fonction) avec les prérogatives d'oscommerce.com :
rappel d'harald : http://forums.oscommerce.com/topic/364291-oscommerce-v-23-when/page__view__findpost__p__1543983

on peut extrapoler sur les anciens plugin jquery qui ont de forte chance de ne plus être compatible avec la librairie actuelle incluse dans le framework de la 2.3.

inutile de troller mon post*, ce n'est pas moi qui établie les règles.

* je les vois arriver avec leurs gros sabots de paysans à 10 km !

C'est ce que je dis : Aie ! Mais passer à php5 n'est pas insurmontable, j'ai trainé les pieds pendant des années pour finalement y passer en début d'année (pas eu le choix en fait). J'ai 5 boutiques sur le même serveur assez anciennes en prod depuis juillet 2004 pour la plus vieille, tout a basculé d'un coup ! Et ca c'est pas mal passé du tout. J'ai perdu quelques trucs ici ou la mais rien de bien grave. C'est vrai qu'à cette période de l'année, c'est pas le trop le moment. Il faut plutôt choisir une période plus calme.

Par contre FoxP2, pour la dernière partie de ton message, tu peux m'expliquer ? C'est quoi le problème ? Par MP si possible.

Écrit par : FoxP2 2 Dec 2010, 00:10

tu as mal compris.
aucun add-on ne doit obliger un commerçant à migrer de php4 vers php5.
ce sont les add-on qui doivent être compatible avec les 2 versions.
travail supplémentaire pour le développeur, c'est vrai.

en parallèle, c'est la même chose avec par exemple Curl.
l'extension n'est pas forcément accessible sur tous les hébergements mutu.
donc un code alternatif doit prendre le relais.

en résumé, ce n'est pas aux utilisateurs de se conformer aux restrictions, mais bien au développeur.

Écrit par : samsayah 2 Dec 2010, 00:14

Il se trouve que la solution du script intercalé dans le .htaccess focntionne, donc mon optin socolissimo apparait bien et donne bien la page sandwich.

Le problème qui est apparu est le suivant : je dispose d'autres moyens de livraison, et lorsque le module SoColissimo est installé, impossible de les sélectionner. J'ai identifié la source de l'erreur : l'appel de jQuery
Il me suffit de l'enlever pour que les options autres que socolissimo soit accessibles, mais dans ce cas bien sûr c'est SoColissimo qui n'est plus accessible.

edit : après relecture des posts, c'est exactement le même problème que Jumper (je te copie wink.gif )

Écrit par : telede 2 Dec 2010, 08:38

@FoxP2

Tu mérite vraiment un trophée 2010...

Je sais bien que le bénévola peut avoir des vocations commerciales, la preuve, et d'ailleurs HPDL le premier faut pas l'oublier ....

Le PHP4 est obsolete et déprécié depuis 2008 et php5 existe depuis 2004, 6 ans sur internet c'est + qu'une vie.

D'ailleurs a ce titre j'utilise une API Google Map dans la version pro (donc Liberté) et malheureusement la version 2, il faut avoir conscience que dans 3 ans Google ne le supportera plus non plus la 3 étant sortie, ca me laisse donc 3 ans pour me mettre a la page... ca va non ?

Après les contributions sont développées par des bénévoles, c'est un peu abuser d'imposer à un bénévole des rigueurs au pied de la lettre tel que tu as l'air de le penser.

Écrit par : telede 2 Dec 2010, 08:42

Citation (samsayah @ 2 Dec 2010, 00:14) *
Le problème qui est apparu est le suivant : je dispose d'autres moyens de livraison, et lorsque le module SoColissimo est installé, impossible de les sélectionner. J'ai identifié la source de l'erreur : l'appel de jQuery

Une URL par MP et je pourrais t'aider, car je pense connaitre l'origine du probleme.

Écrit par : jumper 2 Dec 2010, 09:58

Bonjour
Pour Samsaya, petite modif dans le htacces avec la commande

AddType x-mapp-php5 .php

et

php_value register_long_arrays On

Ensuite modif indiqué dans la FAQ http://www.oscommerce-fr.info/faq/qa_info.php?qID=172
Par contre j'ai toujours le problème module activé, l'option apparait bien mais si je selectionne so-colissimo et cliques continuer, la page se rafraichit mais on n'accede pas au paiement. peut etre en changeant la version de Jquery ???
Qu'en pensez vous ?

Écrit par : oneill 2 Dec 2010, 10:09

jquery-1.4.3.min.js c'est celui que j'appelle (j'ai d'autres appli avec) et ca fonctionne

mais la 1.4.2.min fonctionne aussi chez moi.

Écrit par : jumper 2 Dec 2010, 10:23

huh.gif Non toujours pas , même en chageant de version... une idee me vient, j'utilise pas mal d'autres script dans le header ou dans des box, peut etre un problème d'incompatibilité entre les script ?

Écrit par : oneill 2 Dec 2010, 10:25

Surtout si tu as une autre version de jQuery déjà chargée quelque part, je pense.

Écrit par : jumper 2 Dec 2010, 12:16

Pas d'autre Jquery chargée, le problème est bien l'appel de ce fameux jquery, lorsque j'enleve la ligne je peux a nouveau utiliser mes autre moyens d'expedition (meme prob que samsayah donc).

Écrit par : telede 2 Dec 2010, 12:26

C moi j'ai fait une boulette :

Change cette ligne :

Code
      if ( module.attr('checked') == false )  return(false);

par celle la
Code
      if ( module.attr('checked') == false )  return(true);


donc remplacer false par true a cette endroit dans le fichier socolissimos.js

wink.gif

Écrit par : jumper 2 Dec 2010, 13:52

Merci telede,
La correction apportée a pour effet de faire fonctionner les autres modes d'expédition ou l'on peut maintenant passer au paiement, mais si je selectionne socoliossimo, toujours pareil on reste sur checkout shipping. Bon, maintenant, je n'ai plus besoin de desactiver les lignes

Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>

pour que les autres moyens d'expedition fonctionnent.... ça avance mais toujours pas de so-colissimo disponible...
<mode boulet:ON>

Je relance une install depuis le debut par contre j'ai un doute:
Etape 1:Base de Données - Table Order : OK
Etape2:Editer : includes/classes/order.php OK
Etape 3: faut-t-il comprendre includes/classes/order.php au lieu de includes/orders.php (qui n'existe pas...)?
Etape 4:admin/includes/classes/order.php OK
Etape 5:admin/orders.php OK
Etape 6: ajouter dans includes/languages/french/orders.php OK
Etape 7:checkout_process.php OK
Etape 8:checkout_shipping.php OK

<Mode boulet: OFF> smile.gif

Écrit par : oneill 2 Dec 2010, 14:24

Citation (telede @ 2 Dec 2010, 12:26) *
C moi j'ai fait une boulette :

Change cette ligne :
Code
      if ( module.attr('checked') == false )  return(false);

par celle la
Code
      if ( module.attr('checked') == false )  return(true);


donc remplacer false par true a cette endroit dans le fichier socolissimos.js

wink.gif


Cette ligne est effectivement comme ca chez moi
Code
      if ( module.attr('checked') == false )  return(true);



#########################
J'ai toujours mes commentaires à la ramasse... M'en sort pas

Écrit par : samsayah 2 Dec 2010, 21:33

Merci beaucoup, ça fonctionne !

En revanche, un souci en amenant un autre, j'ai un problème lorsque le franco de port est atteint avec SoColissimo. La validation dans la page checkout_shipping.php amène sur une page d'erreur :

url : http://www.monsite.fr/checkout_shipping.php?TRRETURNURLKO=http%3A%2F%2Fwww.monsite.fr%2Fcheckout_shipping.php

message d'erreur : errorcode: array(12) { ["PUDOFOID"]=> string(14) "05463720552649" ["CENAME"]=> string(5) "sayah" ["DYPREPARATIONTIME"]=> string(1) "1" ["DYFORWARDINGCHARGES"]=> string(0) "" ["TRCLIENTNUMBER"]=> string(1) "6" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(9) "022131446" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "004 " ["ERR_DYFORWARDINGCHARGES"]=> string(0) "" ["SIGNATURE"]=> string(40) "34bb5f084c7dbd6c1d2ef7295028eebf640f2f4b" ["NUMVERSION"]=> string(3) "3.0" }

Doit on modifier les paramètres de franco de port dans order total, ou est-ce autre chose ?



Écrit par : oneill 2 Dec 2010, 22:57

Le dyForwardingCharges ne peut être une chaîne vide comme dans ton cas mais égal à "0" si on veut un franco de port.
Pourtant $cost = 0 dans le module en cas de franco...

Le problème est plutôt dans le socolissimo.class.php à cet endroit

Code
      if ( $cost )
      {      
        $fields .= '<input type="hidden" name="dyForwardingCharges" value="' . $cost . '" />';
        $hash .= $cost;
      }


De toute évidence si $cost = 0 -> value = "" ou n'est pas déclaré -> erreur, dyForwardingCharges ne peut être une chaîne vide et sa déclaration est obligatoire.

Il faudrait plutôt
Code
      if ( $cost )
      {      
        $fields .= '<input type="hidden" name="dyForwardingCharges" value="' . $cost . '" />';
        $hash .= $cost;
      }else{
        $fields .= '<input type="hidden" name="dyForwardingCharges" value="0" />';
        $hash .= 0;
      }

ou tout simplement, à cause du caractère obligatoire de la chose
Code
        $fields .= '<input type="hidden" name="dyForwardingCharges" value="' . $cost . '" />';
        $hash .= $cost;

Et encore, même dans ce cas la, il faudrait filtrer les valeurs négatives qui provoquent la même erreur.


C'est ce que j'essayerais en tout cas. (je n'utilise pas le franco)

Écrit par : samsayah 3 Dec 2010, 01:26

Merci oneill ta 2e solution fonctionne à merveille.

Dans un de tes précédents messages :

Citation
Bon, je m'y suis remis

Et la, bloqué !
Y a un truc qui doit m'échapper : pas moyen de modifier le prix du transport avec l'ajout du cout du RDV. J'ai beau essayer dans tous les sens, nada...
Je perds la variable en cours de route....

Si quelqu'un avait une chtite idée ?


As tu trouvé la solution parce que moi aussi je perds mes 3,60 * rajoutés aux frais de ports

Écrit par : oneill 3 Dec 2010, 10:36

Pour les 3.60 à ajouter au prix de départ, il faut remplacer dans le module vers la ligne 147

Code
'cost' => $quotes['methods'][0]['cost'],
par
Code
'cost' => (float)$_POST['DYFORWARDINGCHARGES'],

Où la, tu remplaces bien la valeur du transport au départ par celle de retour, l'ajout se faisant sur la page sandwich.

Pour faire clair, les échanges ont lieu à ce niveau du module, dans function checkout() , à tous point de vue.
Après, à chacun d'y prendre ce qu'il veut et le traiter comme il l'entends selon ses besoins propres. Moi, par exemple, j'ai beaucoup enregistré en base de données pour, ensuite, organiser plus facilement l'export vers Expéditor Inet

Imagines, il y a des clients qui ont un numéro de mobile sur leur compte, mais qui vont le changer sur la page sandwich !!! Faut bien que tu le saches. Pareil pour le mail, l'adresse et tout le reste.

Écrit par : samsayah 3 Dec 2010, 10:59

ça fonctionne nickel merci

Nous on met tout juste en place expeditor, jusque maintenant on travaillait avec les liasses préaffranchies colissimo et on les amène nous même à la poste (heureusement qu'on est à paris)

J'ai un export classique pour expeditor que j'avais mis en place pour un ancien site internet mais si une bonne âme l'a fait pour SoColissimo, je suis preneur wink.gif

Mais merci en core oneill ça m'a vraiment avancé

Écrit par : telede 3 Dec 2010, 11:59

Au fait une correction pour les vieux osC donc par exemple pour Oneill lol
Rechercher dans includes/functions/general.php les ligne suivantes :

Code
////
// Return a formatted address
// TABLES: customers, address_book
  function tep_address_label($customers_id, $address_id = 1, $html = false, $boln = '', $eoln = "\n") {

et remplacer par :
Code
////
// Return a formatted address
// TABLES: customers, address_book
  function tep_address_label($customers_id, $address_id = 1, $html = false, $boln = '', $eoln = "\n") {
    if (is_array($address_id) && !empty($address_id)) {
          return tep_address_format($address_id['address_format_id'], $address_id, $html, $boln, $eoln);
    }


Ca évite que le mail de confirmation ait une adresse vide
wink.gif

Écrit par : oneill 3 Dec 2010, 12:28

Tant que c'est mon Osc qui est vieux... biggrin.gif


Merci

Écrit par : samsayah 9 Dec 2010, 11:19

Au secours !

Après mise en place du module, j'ai fait les tests et otut focntionnait.

Mais après avoir vu une baisse drastique des commandes sur quelques jours, j'ai contacté quelques clients qui m'ont dit rencontrer des erreurs en choisissant socolissimo alors que je n'en ai pas en faisant la même manip.

Une cliente m'a evoyé son message d'erreur :
errorcode: array(12) { ["PUDOFOID"]=> string(14) "05464924433857" ["CENAME"]=> string(7) "Tormala" ["DYPREPARATIONTIME"]=> string(1) "3" ["DYFORWARDINGCHARGES"]=> string(1) "0" ["TRCLIENTNUMBER"]=> string(5) "19738" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(13) "0710013719738" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "e2c33b2e0a13c645fea299c741dfc2412a810297" ["SIGNATURE"]=> string(40) "6a8a7b04d1083b8b209694b74622c9619c684f55" ["NUMVERSION"]=> string(3) "3.0" }

Une idée ?

De plus, j'aimerais laisser actif le module colissimo classique, mais quelqu'un peut il m'aider à paramètrer le franco jusqte pour ce module ?

Écrit par : mguimard 9 Dec 2010, 11:49

Bonjour,

D'abord vérifie que tous les champs sont remplis. Il me semble que si le champ est vide il ne faut pas le transmettre (j'dis ça mais je me trompe peut être unsure.gif ) (je pense à TRORDERNUMBER dans ton cas)

J'ai eu ce problème de signature dans plusieurs cas, un client avait entré des tirets dans son numéro de téléphone, un autre des caractères spéciaux dans son adresse, etc..
Si c'est le cas, soit modifier un peu la contribution, soit nettoyer un peu ta bdd, soit nettoyer les données lors de l'enregistrement des clients.

Bon courage smile.gif

Écrit par : oneill 9 Dec 2010, 13:41

Et surtout, ne pas tout passer dans la signature. Je reviendrai ce soir (pas le temps la !!) pour te dépanner toi et d'autres.

Écrit par : samsayah 9 Dec 2010, 16:50

c'est cool merci

a ce soir

Écrit par : oneill 9 Dec 2010, 21:13

Tout d'abord, n'envoie que le minimum syndical à la signature, c'est à dire :
pudoFOId
dyForwardingCharges
orderId
+ la clé de cryptage


Ensuite, si ca va bien, tu peux passer à :
pudoFOId
ceName
dyPreparationTime
dyForwardingCharges
trClientNumber
orderId
+ la clé de cryptage

Les tentatives pour passer autres choses ont été, chez moi, totalement infructueuses.

Pour éviter un envoi à la signature il faut juste commenter cette ligne, par exemple :

Code
//     $hash .= $customer_id;



Essayes déjà ca. Ensuite on verra pour filtrer si besoin.

Écrit par : telede 11 Dec 2010, 02:48

Si on lit la doc, les champs input ne doivent pas êtres présent non plus,
si ils sont requis dans le calcul de la clé,

mais le calcul de la clé reste mystérieux, mais je suis arrivé a mieux que ça

il faut progresser a taton,

Exemple, on veut l'adress du book address d'osC :

Code
        $fields .= '<input type="hidden" name="ceAdress3" value="' . $address1 . '" />';
        $hash   .= $address1;

on le veut pas, il suffit de commenter ce code.... j'ai réussit a transmettre la plupart des champs

Mais le developpeur de la poste ne doit pas être le même que celui qui a rédigé la doc, c pas possible !

Écrit par : oneill 11 Dec 2010, 07:42

Salut

J'avoue ne pas avoir bien compris le sens de la clé pour des champs qui, au final, n'ont aucune espèce d'importance. Le fait d'arriver à la page sandwich avec un minimum de choses pour être clairement identifié me parait largement suffisant. Pourquoi passer tous les champs au risque d'être refoulé pour une erreur ? Ça m'échappe.


Pour ceux qui utilisent Expeditor, le champs "Raison Sociale", s'il fonctionne pour les SoColissimo, est ignoré pour les Experts France (pas de Las Vegas ceux là) Il s'agit d'un bug du logiciel de la Poste.
Autre bug que j'ai signalé : Le fait de rentrer une civilité sur Expéditor fait basculer le logiciel sur Colissimo Expert International ! J'ai mis un petit moment avant de comprendre pourquoi les prix restaient à zéro malgré la saisie d'un poids.

Écrit par : Bpizzi 15 Dec 2010, 14:30

Hello there,

Merci telede pour ton module wink.gif

Je me pose une question cependant, pour include/modules/shipping/socollissimos.php, ligne 242 :

CODE
$cost = constant('MODULE_SHIPPING_SOCOLISSIMOS_COST');
$table = split("[:,]" , $cost);
for ($i = 0; $i < sizeof($table); $i+=2) {
if ($cart->show_total() <= trim($table[$i]))
{
$cost = $table[$i+1] ;
break;
}
continue;
$cost = $table[$i+1] ;
}


(Ce code s'applique lorsqu'on souhaite appliquer la politique de frais de port selon le prix du panier.)

Dans tes valeurs par défaut, on a '10:4.73, 20:5.44, 100:6.38' comme Prix de transport.
D'après cette donnée et si on suit la logique de ton algo :
- si le prix du panier est supérieur, à 100€, on va dérouler la boucle for sans jamais rentrer dans le 'if ($cart->show_total() <= trim($table[$i]))'
- donc à chaque fois on rencontre et exécute 'continue;"
- donc on n'évalue jamais '$cost = $table[$i+1] ;'

Au final, si le panier est supérieur à 100€, $cost restera toujours comme il a été initialisé au départ, à 'MODULE_SHIPPING_SOCOLISSIMOS_COST', donc '10:4.73, 20:5.44, 100:6.38' pour notre exemple.
Ce qui ne plait pas à l'API de la poste wink.gif

Il faudrait intervertir '$cost = $table[$i+1] ;' et 'continue;'.

Vérifie de ton côté, mais je pense qu'on a trouvé un petit bug wink.gif

a+

Écrit par : Bpizzi 17 Dec 2010, 15:09

finalement, j'ai refait l'algo pour, notamment, prendre en compte le pallier après le dernier seuil.

Avant, avec la règle '10:4.73, 50:5.44, 100:6.38', on appliquait :
- Panier <= 10€ => livraison = 4.73€
- <= 50€ => 5.44€
- <= 100€ => 6.38€
- et aucun cas pour un prix de panier > 100€

Avec l'algo suivant dans includes/modules/shipping/socollissimos.php, ligne 241, on peut gérer une règle '10:4.73, 50:5.44, 100:6.38, 7.5' comme ceci :
- Panier <= 10€ => livraison = 4.73€
- <= 50€ => 5.44€
- <= 100€ => 6.38€
- > 100€ => 7.5€

CODE
// Politique de frais de port sur le prix du panier
//
if ( ! preg_match('/Poids/i', MODULE_SHIPPING_SOCOLISSIMOS_POLITIC) ) {
$cost = constant('MODULE_SHIPPING_SOCOLISSIMOS_COST');
$seuilsPanier = array();
$prixLivr = array();
if(strpos($cost,":") != false) {
$seuilsPanier[] = 0;
$prixLivr[] = 0;
foreach(explode("," , $cost) as $coupleLimitePrix) {
if(strpos($coupleLimitePrix, ':') != false) {
$coupleArray = explode(":", $coupleLimitePrix);
$seuilsPanier[] = $coupleArray[0];
$prixLivr[] = $coupleArray[1];
} else {
$seuilsPanier[] = "+";
$prixLivr[] = $coupleLimitePrix;
}
}
$prixLivrTrouve = false;
$i = 0;
while(!$prixLivrTrouve) {
if($seuilsPanier[$i+1] == '+') {
$prixLivrTrouve = true;
$cost = $prixLivr[$i+1];
} elseif($cart->show_total() <= $seuilsPanier[$i+1] && $cart->show_total() > $seuilsPanier[$i]) {
$prixLivrTrouve = true;
$cost = $prixLivr[$i+1];
}
$i++;
}
}
}


Pour ceux à qui ca servirait...

Écrit par : b3rl1go 17 Dec 2010, 15:13

Bonjour à tous,
Je rencontre deux problèmes.

A l'affichage du module le bouton radio n'est pas remplacé

Au clic de ce bouton radio j'ai le même message que cité précédemmtn.

errorcode: array(12) { ["PUDOFOID"]=> string(14) "05463720552649" ["CENAME"]=> string(4) "MARX" ["DYPREPARATIONTIME"]=> string(1) "2" ["DYFORWARDINGCHARGES"]=> string(3) "6.6" ["TRCLIENTNUMBER"]=> string(4) "1141" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(12) "171708141141" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "e9e0b4e07b036287a16c6e665b0c815efa0009b7" ["SIGNATURE"]=> string(40) "939d64519211b5c21235acc72b14f630c9826611" ["NUMVERSION"]=> string(3) "3.0" }

J'ai ignoré une partie du hash comme conseillé mais rien n'y fait.
2 choses attirent mon attention

- ["ERRORCODE"]=> string(4) "007 "
qui correspond à un problème de signature et confirmant la suite.

- ["ERR_SIGNATURE"]=> string(40) "e9e0b4e07b036287a16c6e665b0c815efa0009b7" ["SIGNATURE"]=> string(40) "939d64519211b5c21235acc72b14f630c9826611"
Pourquoi y a-t-il deux signature diférentes ?

Je suis dessus depuis hier matin et je m'arrache les cheveux.

Merci pour vos conseils

Écrit par : jumper 11 Jan 2011, 11:12

Bonjour et bonne année à tous
Je me suis remis sur le module mais j'ai toujours un problème à savoir, lorsque je choisis socolissimo et que je veux passer au paiement, une erreur en bas de page apparait:

Citation
FATAL ERROR: register_globals is disabled in php.ini, please enable it!

C'est tres curieux car dans mes htacces, j'ai rajouté 'php_flag register_globals on' qui devrait permettre de passer outre et j'ai meme ajouté un fichier php.ini avec register_global on ........
D'ailleurs, j'ai fait un petit fichier de test (test_register_globals.php)
Code
<?php

if (ini_get('register_globals') == true) {
    exit('Serveur Erreur: Le register_globals est à On!');
}




?>

Le test retour indique le register_globals on. blink.gif
Voilà, je bloque la dessus

Écrit par : b3rl1go 2 Feb 2011, 11:40

Rebonjour a tous...
J'ai perdu bien une semaine à chercher sans résultat d'ou pouvait venir le problème.

errorcode: array(12) { ["PUDOFOID"]=> string(14) "05464924594249" ["CENAME"]=> string(6) "conrad" ["DYPREPARATIONTIME"]=> string(1) "2" ["DYFORWARDINGCHARGES"]=> string(3) "6.6" ["TRCLIENTNUMBER"]=> string(4) "1171" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(12) "021138041171" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "90b33acec6dabf47d2421dde87278754da4081f0" ["SIGNATURE"]=> string(40) "5b1e639a18a30d26116754db3f968bed229065fd" ["NUMVERSION"]=> string(3) "3.0" }

J'ai pourtant suivi a la lettre l'install et toutes les modifs de ce topic (manipes refaites 4 fois)
Mais rien n'y fait. Qu'elqu'un peut-il m'aider?

D'avance, merci.


Écrit par : alternova 6 Feb 2011, 16:23

Citation
J'ai le même problème que Jumper :

parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in :
www/ext/modules/shipping/socolissimos/socolissimos.class.php on line 2


Bonjour,

Je suis en train d'installer ce mod, j'ai bien lu toutes les indications, et j'ai aussi ce problème.
L'hébergement est en mutualisé chez OVH, et c'est du php4

J'ai essayé de contourner avec la ligne AddType x-mapp-php5 .php dans le .htaccess
Le problème persiste quand j'active ce module.

Et quand j'ajoute la ligne php_value register_long_array dans le .htaccess, cela fait une erreur interne 500 de serveur

Si vous pouvez m'aider je vous en remercie, car là je suis dans une impasse.

Écrit par : vanipod 16 Feb 2011, 16:18

Bonjour à tous,

j'ai bcp appris en lisant ce sujet, mais hèlas ça n'a pas résolu tous mes soucis...

En gros, j'ai bien le mode So Collissimo qui s'affiche, les autres modes fonctionnent correctement (j'ai changè le false en true) mais par contre je ne suis pas du tout rediriger vers la page de la poste. Dès que je sélectionne SoColissimo une foit le bouton suivant cliqué je suis renvoyé vers le checkout_shipping.php...

Vous avez une idée du pourquoi du comment ?

Écrit par : telede 16 Feb 2011, 17:22

Citation (alternova @ 6 Feb 2011, 16:23) *
L'hébergement est en mutualisé chez OVH, et c'est du php4

Il suffit de mettre dans le .htaccess :

SetEnv PHP_VER 5

PHP4 date de 2003, a été déprécié depuis (2007 ?), nous sommes en 2011 et PHP6 pointe le bout de son nez !

Écrit par : alternova 27 Feb 2011, 14:06

Bonjour,
Merci beaucoup, je vais essayer cela,
Il est vrai que je vais de voir changer la formule d'hébergement de ce site...

Écrit par : le_che 1 Mar 2011, 16:41

salut
bon désolé mais j'ai lu de long en large et en travers les aides sur le site de la poste socolissimo
impossible de trouver comment integrer leur bidule a part de la theorie (si on est pas developpeur comment on fait), y 'a rien d'autre
donc je me suis dit tiens je vais aller voir sur osc ce qu'ils en disent

je vois sur la premiere page que deja si on utilise expeditor c pas optimisé
plus loins si on est chez ovh y'a des souci, bon ok , mais c faisable quand meme

en gros ma question c'est si tu as un site ecommerce quel qu'il soit comment integrer leur bidule, il ne fournisse pas de module ?????
je trouve ça bizare !

qu'est-ce que le code api ?

je n'ai qu'une clé de cryptage et un identifiant front office sur la premiere page de parametrage

disont qu'avant d'integrer leur bidule (et donc votre module), j'aimerais un peu mieux comprendre


Écrit par : brouillard 1 Mar 2011, 16:55

Citation (le_che @ 1 Mar 2011, 16:41) *
salut
bon désolé mais j'ai lu de long en large et en travers les aides sur le site de la poste socolissimo
impossible de trouver comment integrer leur bidule a part de la theorie (si on est pas developpeur comment on fait), y 'a rien d'autre
donc je me suis dit tiens je vais aller voir sur osc ce qu'ils en disent

je vois sur la premiere page que deja si on utilise expeditor c pas optimisé
plus loins si on est chez ovh y'a des souci, bon ok , mais c faisable quand meme

en gros ma question c'est si tu as un site ecommerce quel qu'il soit comment integrer leur bidule, il ne fournisse pas de module ?????
je trouve ça bizare !

qu'est-ce que le code api ?

je n'ai qu'une clé de cryptage et un identifiant front office sur la premiere page de parametrage

disont qu'avant d'integrer leur bidule (et donc votre module), j'aimerais un peu mieux comprendre



as-tu la documentation de socolissimo liberté ?

Écrit par : le_che 1 Mar 2011, 17:01

la version qui doit etre utilisé est simplicite , oui j'ai cette doc

Écrit par : brouillard 1 Mar 2011, 17:09

Je cherche la doc Socolissimo Liberté, la poste ne l'a livre qu'aux clients avec contrat.

Si tu as un contrat avec la poste et un numéro de client ils devraient te l'envoyer ou te donner un lien pour la télécharger, appel les !

Écrit par : le_che 1 Mar 2011, 17:23

au passage je viens d'aller voir le module sur le site de test
http://osc.eurocashsa.com/checkout_shipping.php

en gros les gens non plus que le choix d'aller chercher leur colis , et plus que ce soit le facteur qui le livre a domicile ??????????????
c 'est dingue ça

pour info , je fait ça pour un pote qui a une boutique osc ,

Écrit par : telede 1 Mar 2011, 17:34

Citation (le_che @ 1 Mar 2011, 16:41) *
salut
impossible de trouver comment integrer leur bidule a part de la theorie (si on est pas developpeur comment on fait), y 'a rien d'autre
donc je me suis dit tiens je vais aller voir sur osc ce qu'ils en disent

Hello,

Il ne faut pas faire d’amalgame entre Liberté et Simplicité (*) ;

- Liberté c'est l'intégration de la solution So Colissimo au sein du site sans passer par la page de la poste
- Simplicité passe par une redirection vers la page appelée "sandwich" de la poste, comme pour un module de paiement

Le taux de conversion est forcément meilleur avec la solution Liberté étant donné que l'usager n'est pas "balancé" de sites en sites...

Pour obtenir gratuitement le module Simplicité il suffit de se rendre sur le site officiel et de récupérer l'addon et d'avoir le contrat approprié avec la poste : http://addons.oscommerce.com/info/7615/v,22 et de se référer aux commentaires de ce topic.

Pour obtenir le module Liberté, il suffit de télécharger ce meme module afin d'obtenir les coordonnées de l'auteur, en l’occurrence moi même.

(*) Erreur que j'ai inopinément commise en appelant le module Liberté alors qu'il s'agissait de Simplicité !

Edit Post Topic :
@Le_Che : Non la version Liberté présentée est une formule de retrait en point de retrait qui n'a aucun rapport avec une livraison standard qui est un autre module, gratuit également > le Module Colissimo de base !

Écrit par : le_che 3 Mar 2011, 06:51

bon moi aussi j'ai cette erreur et j'ai pas compris ce qu'il fallait faire
dans l'admin j'ai tout mes champs de remplis, le franco est a 150

errorcode: array(13) { ["osCsid"]=> string(32) "1f16c626ef6cb81546a5333764c2f800" ["PUDOFOID"]=> string(14) "05463720552649" ["CENAME"]=> string(4) "xxxx" ["DYPREPARATIONTIME"]=> string(1) "1" ["DYFORWARDINGCHARGES"]=> string(4) "4.73" ["TRCLIENTNUMBER"]=> string(2) "28" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(10) "0306405528" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "e7c05b4abe990cca4799cd1987dcd7289b771cec" ["SIGNATURE"]=> string(40) "adbf5ec2c0070b711bbc951b9e56e71e23e68b9a" ["NUMVERSION"]=> string(3) "3.0" }

de plus sur la page checkout_shipping.php

j'ai un bouton radio et pas un bouton "choisir un point de retrait " comme sur le site de demo http://osc.eurocashsa.com/checkout_shipping.php

Écrit par : oneill 4 Mar 2011, 20:05

Citation (le_che @ 3 Mar 2011, 06:51) *
j'ai un bouton radio et pas un bouton "choisir un point de retrait " comme sur le site de demo http://osc.eurocashsa.com/checkout_shipping.php

Ce n'est pas étonnant, il s'agit sur ce site d'une démo d'un pack Socolissimo LIBERTE. Celui que tu installes est SIMPLICITE. Il y a donc des différences.

Pour ton erreur, c'est une signature non valide. Passes moins de choses dans le sha1 pour commencer, le mini comme indiqué plus avant dans ce topic et par moi, d'ailleurs.





J'ai trouvé c'est ici
http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=67304&view=findpost&p=351960http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=67304&view=findpost&p=351960

Écrit par : Nicko500 8 Mar 2011, 22:36

Merci pour cette contribution delete, ca semble bien fonctionner smile.gif

J'ai cependant un soucis avec la contrib "edit_orders", la page qui permet d’éditer tous les champs d'une commande.

Elle semble ne pas aimer le module Socolissimo, des que les modules shipping sont appelés un message apparaît :

Fatal error: Call to a member function on a non-object in /homez.57/audiopho/www/includes/modules/shipping/socolissimos.php on line 208

Ligne 205 à 209 :

Code
    function quote($method = '') {
      global $order, $cart, $sendto;
        $title_ext  = '<input type="hidden" value="';/* NE PAS TOUCHER > utilis‚ par le JavaScript */
        $title_ext .= tep_href_link($this->soColissimos->path('socolissimos.php'));
        $title_ext .= '" id="sosModule" />'; /* NE PAS TOUCHER > utilis‚ par le JavaScript */



Une idée ?

Écrit par : telede 9 Mar 2011, 07:28

Citation (Nicko500 @ 8 Mar 2011, 22:36) *
Merci pour cette contribution delete, ca semble bien fonctionner smile.gif

J'ai cependant un soucis avec la contrib "edit_orders", la page qui permet d’éditer tous les champs d'une commande.

Une idée ?

1) Merci wink.gif

2) Effectivement il semble que ce soit un bug

3) Et la solution qui me semble adaptée la suivante ; donc remplacer les trois lignes $title_ext
Code
      if ( class_exists('so_colissimos') )
      {
        $title_ext  = '<input type="hidden" value="';/* NE PAS TOUCHER > utilis‚ par le JavaScript */
        $title_ext .= tep_href_link($this->soColissimos->path('socolissimos.php'));
        $title_ext .= '" id="sosModule" />'; /* NE PAS TOUCHER > utilis‚ par le JavaScript */
      }


Voilà pour la correction,

Le code précédemment buggué a, pour l'histoire, été développé intentionnellement comme ca afin de ne pas toucher au coeur d'osCommerce et ainsi de faciliter l'installation sur des version déclinées ou modifiées

wink.gif

Écrit par : saphir52 9 Mar 2011, 09:25

Bonjour,

J'ai le meme souci, lors du choix d'expedition socolissimo, on reste bloqué sur checkaout_shipping.
Et j'ai la même remarque que l'etape 3 !?
merci d'avance

Citation (jumper @ 2 Dec 2010, 13:52) *
Merci telede,
La correction apportée a pour effet de faire fonctionner les autres modes d'expédition ou l'on peut maintenant passer au paiement, mais si je selectionne socoliossimo, toujours pareil on reste sur checkout shipping. Bon, maintenant, je n'ai plus besoin de desactiver les lignes
Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>

pour que les autres moyens d'expedition fonctionnent.... ça avance mais toujours pas de so-colissimo disponible...
<mode boulet:ON>

Je relance une install depuis le debut par contre j'ai un doute:
Etape 1:Base de Données - Table Order : OK
Etape2:Editer : includes/classes/order.php OK
Etape 3: faut-t-il comprendre includes/classes/order.php au lieu de includes/orders.php (qui n'existe pas...)?
Etape 4:admin/includes/classes/order.php OK
Etape 5:admin/orders.php OK
Etape 6: ajouter dans includes/languages/french/orders.php OK
Etape 7:checkout_process.php OK
Etape 8:checkout_shipping.php OK

<Mode boulet: OFF> smile.gif

Écrit par : saphir52 9 Mar 2011, 19:27

Je confirme, il faut comprendre includes/classes/order.php au lieu de includes/orders.php (qui n'existe pas...).

Ne pas oubliez de mettre dans la Calcul de la signature le paramètre, numVersion, cela fait donc 5 valeurs au total qui sont obligatoires.

Il me reste un problème qui bloque le transfert.
Je bloque lorsque les clients saisissent des caractères accentués notamment.

J’ai placé dans socolissimo.class.php mais ça n’a rien changé :

$fields .= '<input type="hidden" name="ceFirstName" value="' . $firstname . '" />' ; $firstname = utf8_encode($firstname);
$hash .= $firstname ;




Écrit par : oneill 9 Mar 2011, 20:54

Citation (saphir52 @ 9 Mar 2011, 19:27) *
Je confirme, il faut comprendre includes/classes/order.php au lieu de includes/orders.php (qui n'existe pas...).

Ne pas oubliez de mettre dans la Calcul de la signature le paramètre, numVersion, cela fait donc 5 valeurs au total qui sont obligatoires.

Il me reste un problème qui bloque le transfert.
Je bloque lorsque les clients saisissent des caractères accentués notamment.

J'ai placé dans socolissimo.class.php mais ça n'a rien changé :

$fields .= '<input type="hidden" name="ceFirstName" value="' . $firstname . '" />' ; $firstname = utf8_encode($firstname);
$hash .= $firstname ;


VRAI pour order.php

FAUX pour le n° de version

J'ai supprimé cette ligne
Code
$firstname = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $firstname);
qui me virait les espaces dans les prénoms composés.
Aussi essayes plutôt ca, ca va marcher beaucoup mieux.....
Code
$firstname = utf8_encode($firstname);
  $fields .= '<input type="hidden" name="ceFirstName" value="' . $firstname . '" />';
  $hash .= $firstname;

Par contre tu peux éviter de coder ce paramètre dans un premier temps, tu prends des risques de bloquage pour rien.
Code
// $hash .= $firstname;



Écrit par : thedream 10 Mar 2011, 11:50

Bonjour à tous.

Savez-vous où je peux trouver la version du module SoColissimo Liberté (le vrai), celui qui ne fait pas quitter le client du site pour aller sur la page sandwich de la poste et qui utilise le fichier de la Poste "EDI Client" ?

Si quelqu'un l'a, peut-il me l'envoyer par email où m'adresser un message personnel ?

Merci à vous et encore bravo pour le travail sur ce module.

Écrit par : jordan 10 Mar 2011, 12:44

Bonjour à tous.

J'ai un problème avec la contrib Simplicité, je n'arrive pas à dépasser la page checkout_shipping.php.
lorsque je sélectionne la méthode de livraison socolissimo je suis toujours redirigé vers cette page.
J'ai bien lu les post qu'il y avait sur ce problème et les solutions données ne rectifient pas mon problème.

J'ai bien mis les deux lignes javascript dans le fichier checkout_shipping.php

Code
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>


J'ai même réinstaller le module, j'ai toujours le même problème.
Quelqu'un aurait-il la solution?

Merci d'avance.

Écrit par : saphir52 10 Mar 2011, 15:10

Toujours le même souci concernant les é ou è ou les ê ...
C'est sûr le fait de désactiver le transfert du prénom sur socolissimo ça résoud le problème mais tant qu'à faire quelque chose autant le faire le mieux pour le client qui risque d'être décourager de retaper ses données une seconde fois.

Écrit par : Nicko500 11 Mar 2011, 00:14

Citation (telede @ 9 Mar 2011, 07:28) *
remplacer les trois lignes $title_ext
Code
      if ( class_exists('so_colissimos') )
      {
        $title_ext  = '<input type="hidden" value="';/* NE PAS TOUCHER > utilis‚ par le JavaScript */
        $title_ext .= tep_href_link($this->soColissimos->path('socolissimos.php'));
        $title_ext .= '" id="sosModule" />'; /* NE PAS TOUCHER > utilis‚ par le JavaScript */
      }


Voilà pour la correction,

Le code précédemment buggué a, pour l'histoire, été développé intentionnellement comme ca afin de ne pas toucher au coeur d'osCommerce et ainsi de faciliter l'installation sur des version déclinées ou modifiées

wink.gif


Merci ça fonctionne au poil smile.gif

Au passage j'ai noté que le commentaire entré dans checkout_shiping n'est pas enregistré lorsque l'on revient sur checkout_payment

Et j'ai aussi ce problème d'accents unsure.gif

Écrit par : oneill 11 Mar 2011, 09:02

Citation (saphir52 @ 10 Mar 2011, 15:10) *
Toujours le même souci concernant les é ou è ou les ê ...
C'est sûr le fait de désactiver le transfert du prénom sur socolissimo ça résoud le problème mais tant qu'à faire quelque chose autant le faire le mieux pour le client qui risque d'être décourager de retaper ses données une seconde fois.


Pour les accents, c'est tout de même curieux vu que chez moi cela fonctionne comme cela. Je vais regarder de plus près pour voir si je n'ai pas planqué autre chose...

Je ne dis pas de ne pas transmettre le prénom, juste de ne pas le coder en sha1:
$fields sert à transmettre en clair les infos et tu le transmets toujours non ?
$hash sert à transmettre en plus les infos codées dans la signature. Je t'ai indiqué de commenter // $hash et pas $fields pour le prénom il me semble.

Pourquoi voudrais tu coder le prénom si c'est une source de problème dans ta signature alors que ce n'est pas obligatoire pour sa validation en sachant qu'il sera quand même transmis ?

Écrit par : jordan 11 Mar 2011, 09:32

J'ai toujours le même problème au niveau de checkout_shipping.php.
Je ne comprends pas, j'ai vérifié plusieurs fois mon code et je reste bloqué sur cette page.

Si je choisi une autre méthode de livraison, cela se passe très bien, c'est seulement lorsque je choisi SoColissimo.
J'ai vraiment besoin de mettre en place ce module, quelqu'un pourrait m'aider ?

Merci d'avance smile.gif !

Écrit par : saphir52 11 Mar 2011, 09:35

Nous sommes bien d'accord !

Coder le prénom ne sert à rien mais ça ne fonctionne pas non plus.
Dès lors qu'il y a un é, è, à ê ... dnas les prénoms, rue, ... ça bloque ... même en clair.

Écrit par : oneill 11 Mar 2011, 09:39

Et bien pas moi !

Remets ta dernière chaîne d'erreur ici pour voir, le problème est peut être ailleurs

mets donc aussi ton fichier socolissimos.class.php

Écrit par : saphir52 11 Mar 2011, 10:02

Message lorsque j'active en clair ou codé les prénoms ou rues avec é è à ....

errorcode: array(12) { ["PUDOFOID"]=> string(14) "xxxxxxxxxx" ["CENAME"]=> string(7) "xxxxxx" ["DYPREPARATIONTIME"]=> string(0) "" ["DYFORWARDINGCHARGES"]=> string(1) "0" ["TRCLIENTNUMBER"]=> string(0) "" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(9) "111001476" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "63c3f861d182f02edadde5ab1e3e47f1240ef9a4" ["SIGNATURE"]=> string(40) "3c2422b926b09562b10d5e812aa77f1eb14c4594" ["NUMVERSION"]=> string(3) "3.0" }

Code
<?php
/*
  osCommerce, Open Source E-Commerce Solutions
  <A href="http://www.oscommerce.com">http://www.oscommerce.com</A>
  Copyright (c) 2007 osCommerce
  Released under the GNU General Public License</P> <P>  @package    SO COLISSIMO
  @author     Olivier B.
  Support by mail :  <A href="mailto:olivier@smartmarseille.com">olivier@smartmarseille.com</A>
  Skype : delete13_fr</P> <P>  Ce module est diffuse gratuitement :
  
  Vous pouvez nous contacter pour tout developpement ulterieur; SoColissimo version Liberte soColissimo Flebilite TNT (WebService), Mondial Relay (WebService), GLS etc...
  
  Nous sommes specialise dans les modules d'expeditions, de paiement, et toutes taches difficiles a realiser !    </P> <P>  Demonstration du module soColissimo Liberté : <A href="http://osc.eurocashsa.com">http://osc.eurocashsa.com</A>
    
  Date : 01/09/2010 - Par : Delete - Version Initiale
  Modifie : 07/11/2010 - Par : Delete - Version Finale OpenSource
*/
  

  class so_colissimos
  {
   protected $_debug;
  
    public function __construct($language = 'FR', $debug = false)
   {
    $this->_language   = $language;
    $this->_debug     = $debug;
      $this->_path          = 'ext/modules/shipping/socolissimos';
      $this->_images        = $this->_path . '/images';
      $this->_merchantId    = MODULE_SHIPPING_SOCOLISSIMOS_MERCHANT_ID;
      $this->_merchantKey    = MODULE_SHIPPING_SOCOLISSIMOS_MERCHANT_KEY;
      $this->_url             = 'http://ws.colissimo.fr/pudo-fo/storeCall.do'; // URL Prod
      $this->_urlKo           = tep_href_link(FILENAME_CHECKOUT_SHIPPING);
      $this->_urlOk           = tep_href_link(FILENAME_CHECKOUT_SHIPPING);
   }

    public function path($file = false)
    {
      return $this->_path ? sprintf('%s/%s', $this->_path, $file) : $this->_path;
    }
  
    public function image($file = 'socolissimo.png')
    {
        return($this->_images . '/' . $file);
    } </P> <P>    public function init()
    {
      global $order, $sendto, $cart, $customer_id;
      
      $shipping = new shipping;</P> <P>      $quotes = $shipping->quote('socolissimos', 'socolissimos');
    
      $tax = $quotes[0]['tax'];
      $cost = $quotes['0']['methods']['0']['cost'] ? $quotes['0']['methods']['0']['cost'] : 0;        
                      
      $relais = preg_match('/Oui|True/i', MODULE_SHIPPING_SOCOLISSIMOS_RELAIS) ? 0 : 1;
      $delais = intval(MODULE_SHIPPING_SOCOLISSIMOS_DELAI) ? MODULE_SHIPPING_SOCOLISSIMOS_DELAI : '0';
      //$weight = preg_match('/kg/i', MODULE_SHIPPING_SOCOLISSIMOS_WEIGHT_UNIT) ? (int)($cart->show_weight() * 1000) : (int)$cart->show_weight();
      $version = '3.0';
    
      $order_id = date('dHis') .  $customer_id;
      
      if ( intval($sendto ) )
      {
        $shipping_address_query = tep_db_query("select ab.entry_firstname, ab.customers_id, ab.entry_lastname, ab.entry_gender, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$sendto . "'");
        $shipping_address = tep_db_fetch_array($shipping_address_query);
      }
   </P> <P>      $fields  = '<div style="display:none">';
      $hash  = '';</P> <P>      // Filtrage
      //
      $firstname = $shipping_address['entry_firstname'];
      //$firstname = preg_replace('/[^\x2D-\x5B\x61-\x7D\x82\xE0-\xFF\x20]/', '', $firstname);
      $firstname = substr($firstname, 0, 34);</P> <P>      $lastname = $shipping_address['entry_lastname'];
      $lastname = preg_replace('/[^\x2D-\x5B\x61-\x82\x7D\xE0-\xFF\x20]/', '', $lastname);
      $lastname = substr($lastname, 0, 29);                  
      
      $company = $company = $shipping_address['entry_company'];
      $company = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $company);
      $company = substr($company, 0, 38);  
      
      $address1 = $shipping_address['entry_street_address'];                  
      $address1 = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $address1);
      $address1 = substr($address1, 0, 38);            </P> <P>      $address2 = $shipping_address['entry_suburb'];
      $address2 = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $address2);
      $address2 = substr($address2, 0, 38);
      
      $zip = $shipping_address['entry_postcode'];
      $zip = preg_replace('/[^\x30-\x39\x41-\x44]/', '', $zip);
      $zip = sprintf('%05d', $zip);
      
      $town = $shipping_address['entry_city'] ;
      $town = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $town);
      $town = substr($town, 0, 32);
      
      $email = $order->customer['email_address'] ;
      $email = preg_replace('/[^\x2D-\x5B\x61-\x7D\xE0-\xFF\x20]/', '', $email);
      $email = substr($email, 0, 80);
      
      $phone = $order->customer['telephone'];
      $phone = preg_replace('/[^\x30-\x39\x2B]/', '', $phone);
      
      // Champs
      //                                          
      $fields .= sprintf('<form name="formpudocall" action="%s" method="post">', $this->_url);
      
      $fields .= '<input type="hidden" name="pudoFOId" value="' . $this->_merchantId . '" />';
      $hash   .= $this->_merchantId;
            
      $fields .= '<input type="hidden" name="ceName" value="' . $lastname . '" />';
      $hash   .= $lastname;
      
  //   $fields .= '<input type="hidden" name="dyPreparationTime" value="' . $delais . '" />';
   //   $hash   .= $delais;
      
  
       $fields .= '<input type="hidden" name="dyForwardingCharges" value="' . $cost . '" />';
       $hash .= $cost;
    
  /* $fields .= '<input type="hidden" name="trClientNumber" value="' . $customer_id . '" />';
       $hash .= $customer_id;
  
     $fields .= '<input type="hidden" name="trFirstOrder" value="' . $relais . '" />';
      $hash .= $relais;   */
                
      $fields .= '<input type="hidden" name="orderId" value="' . $order_id  .'" />'; // n° de commande, inexistant a ce stade
      $hash .= $order_id;
  
        /*
      $fields .= '<input type="hidden" name="ceDeliveryInformation" value="" />'; // pas implémenté                                      
      */

     $fields .= '<input type="hidden" name="numVersion" value="' . $version . '" />';
       $hash   .=  $version;                    
  
      if ( $shipping_address['entry_gender'] == 'm' )
      {
       if ( $shipping_address['entry_gender'] == 'm' )
       {
         $civility = "MR";
        }else{
         $civility = "MME";
        }  
        $fields .= '<input type="hidden" name="ceCivility" value="' . $civility . '" />';
        $hash .=  $civility;
      }
      
   $firstname = utf8_encode($firstname);
    //$fields .= '<input type="hidden" name="ceFirstName" value="' . $firstname . '" />';
    //$hash .= $firstname;
      
      if ( ! empty( $company ) )
      {        
  //      $fields .= '<input type="hidden" name="ceCompanyName" value="' . $company . '" />';
  //      $hash .= $company;  
      }</P> <P>      if ( $address1 )
      {
        $fields .= '<input type="hidden" name="ceAdress3" value="' . $address1 . '" />';
        $hash   .= $address1;
      }
      if ( $address2 )
      {      
  //      $fields .= '<input type="hidden" name="ceAdress4" value="' . $address2 . '" />';
  //      $hash   .= $address2;
      }
      
      if ( $zip )
      {
        $fields .= '<input type="hidden" name="ceZipCode" value="' . $zip . '" />';        
        $hash   .= $zip;
      }
      if ( $town )
      {
        $fields .= '<input type="hidden" name="ceTown" value="' . $town . '" />';
        $hash   .= $town;
      }
      if ( $email )
      {
        $fields .= '<input type="hidden" name="ceEmail" value="' . $email . '" />';
        $hash   .= $email;    
      }
      if ( $phone )
      {
        $fields .= '<input type="hidden" name="cePhoneNumber" value="' . $phone  . '" />';
        $hash   .= $phone;
      }
      if ( $weight )
      {
   //     $fields .= '<input type="hidden" name="dyWeight" value="' . $weight . '" />';
   //     $hash   .= $weight;
      }
      if ( $relais )
      {                  
       // $fields .= '<input type="hidden" name="trPointRelais" value="' . $relais .'" />';    
     //   $hash   .= $relais;
      }
      $fields .= '<input type="hidden" name="trReturnUrlKo" value="' . $this->_urlKo .  '" />';
      $hash   .=  $this->_urlKo;</P> <P>      $fields .= '<input type="hidden" name="trReturnUrlOk" value="' . $this->_urlOk . '" />';
      $hash   .=  $this->_urlOk;
      
      // DEBUG : on n'affiche pas la clé lol
      ///$fields .= '<input type="hidden" name="key" value="' . $this->_merchantKey . '" />';
      $hash   .= $this->_merchantKey;
      
      $signature = sha1($hash);                                      
                        
    
      $fields .= '<input type="hidden" name="signature" value="' . $signature . '" />';
  
      $fields .= '</div></form>';
      
      echo $fields;
    }
    
  }



Écrit par : telede 11 Mar 2011, 11:18

Citation (saphir52 @ 11 Mar 2011, 10:02) *
Message lorsque j'active en clair ou codé les prénoms ou rues avec é è à ....

errorcode: array(12) { ["PUDOFOID"]=> string(14) "xxxxxxxxxx" ["CENAME"]=> string(7) "xxxxxx" ["DYPREPARATIONTIME"]=> string(0) "" ["DYFORWARDINGCHARGES"]=> string(1) "0" ["TRCLIENTNUMBER"]=> string(0) "" ["TRORDERNUMBER"]=> string(0) "" ["ORDERID"]=> string(9) "111001476" ["TRPARAMPLUS"]=> string(0) "" ["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]=> string(40) "63c3f861d182f02edadde5ab1e3e47f1240ef9a4" ["SIGNATURE"]=> string(40) "3c2422b926b09562b10d5e812aa77f1eb14c4594" ["NUMVERSION"]=> string(3) "3.0" }


Citation (saphir52 @ 11 Mar 2011, 10:02) *
Code
      $firstname = $shipping_address['entry_firstname'];
      $firstname = preg_replace('/[^\x2D-\x5B\x61-\x7D\x82\xE0-\xFF\x20]/', '', $firstname);
      $firstname = substr($firstname, 0, 34);</P> <P>


En fait ce qu'il faudrait c'est un strtoupper sans accents, tenant compte des entités HTML, je n'ai pas cherché par fénéantise, ceci dit il est sur que ca existe et si quelqu'un a un code propre je l'implémenterais... (propre ...)

Donc j'ai effectivement poussé à l'extrème les règles de filtrage car la réalité n'a jamais correspondu à la documentation et comme la clé est basée sur ces infos, il faut que le champ soit exempt de caractères incorrectes, sinon on se "tape" une erreur 007.

Ce qui est le cas dans ton exemple.

Ceci dit je suis entrain de coder un nouveau module pour une autre solution donc je viendrais corriger tous les cas "d'école" que nous avons subit.

Voici quand même quelques informations interessantes, je peux pas attacher le fichier ni le rendre public, mais une partie que je peux vous donner venant des services techniques :

Citation
ETAPE 1 - Vérifier que le client utilise le bon produit SoColissimo PUDO

Après signature du contrat avec la/le commercial, le E-Marchant reçois des accès (login/mp) par mail. Avec cette accès il peut se connecté sur : https://www.coliposte.net/pro/services/accueil_pro.jsp puis

Via la rubrique :

Vérifier que le client à bien configuré le back office les 3 premières valeurs sont obligatoires:

- Génération de la clé de cryptage
- Identifiant Front Office
- Liens/URL KO et OK
- Non obligatoire ajout des logos pour la page sandwich

ETAPE 2 – Vérifier que le client envoi les bons paramètres à la page

Pour utiliser la page interstitiel le client doit envoyer des paramètres pour laisser au client le choix du mode de livraison. Voici les paramètres obligatoires que le client doit envoyer à la page sandwich. Dans le cas d’un paramètre manquant la page retourne une erreur dans les données POST.

Champs Nom dans le HTML Obligatoire
Identifiant FO pudoFOId Oui
Frais d’expédition dyForwardingCharges Oui
N° transaction orderId Oui
Signature signature Oui

ETAPE 3 – Vérifier l’algorithme de génération de la signature

Chaîne_à_convertir= pudoFOId+ceName+ dyPreparationTime+ dyForwardingCharges+ trClientNumber+ trOrderNumber+ orderId+cléSHA

Signature=SHA1(Chaîne_à_convertir)

Le client doit utiliser la fonction JavaScript en PJ dans le fichier webtoolkit.js

Info utile : Indiquer au client qu’il peut faire la génération de la signature en JavaScript, mai qu’il est fortement recommander de la faire également en PHP (coté serveur).

ETAPE 4 – Vérifier la bonne génération du Numéro de transaction orderID

Ce numéro est utilisé pour identifier les utilisateurs sur la page interstitiel. (Plusieurs clients peuvent se connecter en même temps sur la page interstitiel). Le client doit donc impérativement gérer son propre numéro, pour pouvoir associer la commande de son client et le mode de livraison. Ce numéro doit êtres unique. La variable orderID est composé de 5 à 16 caractères alphanumériques

ETAPE 5 – Vérifier les URL retour

Vérifier la non présence de chemin relatif dans les URL retour

VALIDE
NON VALIDE

Vérifier la longueur des URLs

256 caractères alphanumériques maximum

ETAPE 6 – Vérifier que le client utilise le bon type de compte

Deux solutions possibles :
liberté : la poste fournit un fichier de la liste des points de retrait en EDI
Simplicité : La page interstitiel


Citation
Les codes erreurs les plus courants :

006 Signature manquante
La signature n’est pas transmise dans les paramètres d’appel. - Bloquant
007 Signature invalide
La signature transmise dans les paramètres d’appel n’est pas valide. - Bloquant
008 Code postal invalide
Le code postal transmis dans les paramètres d’appel n’est pas valide. - Bloquant
011 Numéro de transaction non valide
Le numéro de transaction transmis dans les paramètres d’appel n’est pas valide. - Bloquant


C'est une préciseuse synthèse que je n'hésiterais pas à mettre en oeuvre dans la nouvelle release, ceci dit si quelqu'un veut bien m'aider ce serait volontier wink.gif

Écrit par : oneill 11 Mar 2011, 12:20

Tout ce que je vois moi c'est ca
["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]
Aucun rapport avec tes voyelles accentuées. La preuve, c'est que tu as la même erreur avec ou sans.

Donc il faut d'abord se pencher sur ce problème de signature. Pour l'instant, l'orthographe n'est pas une priorité. D'ailleurs, je ne vois pas comment tu peux dire que ce sont les accents qui bloquent vu que tu n'a jamais pu voir la page Sandwhich avec cette signature erronée. J'ai eu le problème des voyelles accentuées SUR la page sandwich, preuve que ce n'est pas bloquant.

L'essentiel est de faire apparaitre cette **** de page sandwich

Il doit y avoir un décalage entre ce que tu déclares en clair en ce que tu codes.

Écrit par : cyprien24 11 Mar 2011, 14:48

Bonjour,

comme d'autres je suis bloqué avec ce message d'erreur :
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /users/user6254/sites/xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ext/modules/shipping/socolissimos/socolissimos.class.php on line 28

j'ai bien vu des solutions avec des choses à copié dans le .htaccess , j'ai copié ce ligne dans le fichier à la racine sans que cela ne résolve le problème, à priori je suis bien en php4.
quelqu'un à t il enfin trouvé la solution pour faire fonctionner ce mrgreen.gif de module?

merci

Écrit par : telede 11 Mar 2011, 15:43

Citation (cyprien24 @ 11 Mar 2011, 14:48) *
quelqu'un à t il enfin trouvé la solution pour faire fonctionner ce mrgreen.gif de module?


Le fait qu'il y ait une finalité commerciale a une solution OpenSource ne permet pas d'en dénigrer l'auteur mais surtout quant on utilise la version Freeware.

Je te prierais de bien vouloir retirer ce propos.

Cordialement,
Olivier

Écrit par : cyprien24 11 Mar 2011, 16:03

je parle de so colissimo!! pas de oscommerce

Lui aussi, c'est justement l'auteur de cette contrib qui vient de faire cette remarque.
Oneill


bon alors dernière précision, je parle de la poste (pas de la contribution!) qui est allé inventer une usine à gaz...

Écrit par : thedream 11 Mar 2011, 16:06

Citation
Est-ce que quelqu'un à trouver le bug des commentaires qui disparraissent quand on choisi le module So Colissimo ?


J'ai trouvé !

Pour le bug des commentaires il faut rajouter la ligne suivante dans le module So Colissimo:
Code
if (!tep_session_is_registered('comments')) tep_session_register('comments');

après:
Code
if (!tep_session_is_registered('sendto')) tep_session_register('sendto');
if (!tep_session_is_registered('shipping')) tep_session_register('shipping');


Normalement tout est ok. Je continue le débuggage...

Écrit par : telede 11 Mar 2011, 16:54

Citation (thedream @ 11 Mar 2011, 16:06) *
J'ai trouvé !

Et merci thedream wink.gif

Je note pour la future release wink.gif wink.gif

Écrit par : oneill 11 Mar 2011, 17:00

Citation (telede @ 11 Mar 2011, 16:54) *
Citation (thedream @ 11 Mar 2011, 16:06) *
J'ai trouvé !

Et merci thedream wink.gif

Je note pour la future release wink.gif wink.gif



confused.gif confused.gif

Pas moi OUiiinnnnnn
Marche pô

Écrit par : saphir52 11 Mar 2011, 18:22

c'est là que tu te trompes (je préfererais que cela soit moi) car dès que je rentre un prénom ou une rue sans accents HOP j'accède à la page sandwich.


J'ai contacté le support socolissimo mais pas d'idée à part la conversion ISO et §UTF8

Citation (oneill @ 11 Mar 2011, 12:20) *
Tout ce que je vois moi c'est ca
["ERRORCODE"]=> string(4) "007 " ["ERR_SIGNATURE"]
Aucun rapport avec tes voyelles accentuées. La preuve, c'est que tu as la même erreur avec ou sans.

Donc il faut d'abord se pencher sur ce problème de signature. Pour l'instant, l'orthographe n'est pas une priorité. D'ailleurs, je ne vois pas comment tu peux dire que ce sont les accents qui bloquent vu que tu n'a jamais pu voir la page Sandwhich avec cette signature erronée. J'ai eu le problème des voyelles accentuées SUR la page sandwich, preuve que ce n'est pas bloquant.

L'essentiel est de faire apparaitre cette **** de page sandwich

Il doit y avoir un décalage entre ce que tu déclares en clair en ce que tu codes.

Écrit par : oneill 11 Mar 2011, 20:42

Moi c'est bien la conversion ISO/UTF8 qui a réglé le problème des accents mais pas celui de la signature qui était déjà réglé à ce moment la.
J'ai même du convertir les url de retour qui partaient en GET

Code
      $fields .= '<input type="hidden" name="trReturnUrlKo" value=' . htmlentities( $this->_urlKo, ENT_NOQUOTES, 'UTF-8') . ' />';
      $fields .= '<input type="hidden" name="trReturnUrlOk" value=' . htmlentities( $this->_urlOk, ENT_NOQUOTES, 'UTF-8') . ' />';


As tu essayé de n'envoyer que le minimum afin d'arriver sur la page sandwich et de remettre au fur et à mesure les éléments à transmettre ?

Écrit par : oneill 12 Mar 2011, 00:23

Voila ce que j'ai pour le prénom par exemple. Rien d'autre ne fonctionnait correctement.

D'abord le filtrage

Code
      $firstname = $shipping_address['entry_firstname'];
      $firstname = utf8_encode($firstname);
      $firstname = substr($firstname, 0, 34);


Puis la construction du flux
Code
      $fields .= '<input type="hidden" name="ceFirstName" value="' . $firstname . '" />';

Je ne l'envoie pas à la signature.
Sur la page sandwich un prénom comme René est orthographié tel quel (René)

Je fais exactement pareil pour le nom, sauf que je le passe à la signature
Code
      $fields .= '<input type="hidden" name="ceName" value="' . $lastname . '" />';
      $hash   .= $lastname;


Mon seul gros filtrage est la conversion ISO/UTF8 qui semble à elle seule régler le problème.
Toi, tu nettoies puis tu convertis, de la vient peut être ton problème. Essayes le mien...

Écrit par : telede 12 Mar 2011, 03:40

C'est parceque je ne savais pas si justement il y avait des probleme de charset que j'ai proposé plus haut la conversion en MAJ ...

mais ca me rappelle une fonction que j'ai developpée pour Paypal et reprise dans différent topics dont :

http://www.oscommerce-fr.info/forum/index.php?showtopic=57628&view=findpost&p=301951

Code
// charset conversion for paypal express checkout module / by delete
//
function tep_adjust_charset($input, $orig = "UTF-8", $dest = CHARSET)
{
        if ( is_array($input) )
        {
            foreach ($input as $key => $val)
            {
                $input[$key] = iconv($orig, $dest, $val);
            }
            return $input;
        }
        else
        {
                return iconv($orig, $dest, $input);
        }
}


ici dans le cas qui nous préoccupe a utiliser a l'envers : $valeur = tep_adjust_charset($prenom, CHARSET, 'UTF-8') ;

CHARSET est un define osC par défaut, donc dans le pire des cas ça fera : soit rien si le site est déjà UTF-8 soit fera le travail si il est en ISO8859-1 !

Écrit par : oneill 12 Mar 2011, 09:52

Tiens ca , c'est pas con.

Écrit par : telede 12 Mar 2011, 09:58

Citation (oneill @ 12 Mar 2011, 09:52) *
Tiens ca , c'est pas con.

Bein je me posais la question si :

- Il fallait tout passer en majuscules sans accents
- Ou adapter la solution aux contraintes (éternelles) de CHARSET

Tu viens de me répondre, et ca répond à ma question...

Et, ca c'est pas con.

On va donc adapter la solution dans ce sens wink.gif

Écrit par : oneill 12 Mar 2011, 10:09

Je suis d'accord avec ca : Ce problème de Charset va être de plus en plus d'actualité. A défaut de passer sa boutique totalement en UTF8, cette solution permettrait de le faire en douceur au coup par coup. Mais je doute qu'il soit safe de le faire pour toute sa boutique (dans application_top par exemple) et ainsi envoyer de l'UTF8 à tout va et déclarer de l'ISO en Content-Type. Il conviendrait de réserver cette fonction à un usage ponctuel, je pense. Et vous ?

Écrit par : saphir52 12 Mar 2011, 12:17

Quel pourrait être le rapport entre un problème de signature et un problème d'accent ?

J'acccède à la page sandwich mais dès lors que je rajoutele champs prénom, BOOM message d'erreur Errerur 12 .....

Écrit par : oneill 12 Mar 2011, 12:46

Ah mais moi, avant que tu m'en parles, je ne pensais pas que ca arrivait... Je sors mon Joker

Écrit par : telede 12 Mar 2011, 13:25

Citation (saphir52 @ 12 Mar 2011, 12:17) *
Quel pourrait être le rapport entre un problème de signature et un problème d'accent ?

J'acccède à la page sandwich mais dès lors que je rajoutele champs prénom, BOOM message d'erreur Errerur 12 .....


Et bien regarde comment sont affichés les prix sur ton site ca expliquera peut etre la raison :
Erreur 12 = Format des frais d’expédition incorrect

Citation (oneill @ 12 Mar 2011, 12:46) *
Ah mais moi, avant que tu m'en parles, je ne pensais pas que ca arrivait... Je sors mon Joker


HS mais l'UTF-8 est est un système d'encodage de caractère multi-byte. C'est bien quand on veut décliner son site en mandarin ou en Japonais, avec une sincère pensée pour eux ce jour wink.gif

Mais donc multi/mono ne fait pas bon ménage dans notre contexte d'ou les erreurs...

Écrit par : saphir52 13 Mar 2011, 08:45

J'avoue avoir jeter l'éponge pour quelques jours, j'ai déjà perdu pas mal de temps sur ce bug.

J'ai activé le module SoColissimo en ligne et je ne traite que le minimum syndical.

Écrit par : oneill 13 Mar 2011, 09:22

confused.gif

Écrit par : telede 13 Mar 2011, 11:01

Citation (saphir52 @ 13 Mar 2011, 08:45) *
J'avoue avoir jeter l'éponge pour quelques jours


Le module a marché dès le début chez Oneill (et bien d'autres) grâce à sa volonté, sa contribution, et quelques cordiaux échanches, il a fait son choix.

Ton problème semble simple a régler, mais bon, à ta guise.

Après il existe la version commerciale, bien plus aboutie, assurant un meilleur taux de transformation etc...

Ca signifie pas que le travail de la solution OpenSource a été baclé, non, et loin de là ma volonté.

Mais il est certainement moins abouti car n'a pas la même finalité, c'est certain wink.gif



Écrit par : brouillard 13 Mar 2011, 11:51

Citation (telede @ 13 Mar 2011, 11:01) *
Citation (saphir52 @ 13 Mar 2011, 08:45) *
J'avoue avoir jeter l'éponge pour quelques jours


....................... Ca signifie pas que le travail de la solution OpenSource a été baclé, non, et loin de là ma volonté.

Mais il est certainement moins abouti car n'a pas la même finalité, c'est certain wink.gif






blink.gif

Écrit par : oneill 13 Mar 2011, 12:22

C'est déjà différent au niveau de la ColiPoste.
Liberté ou Simplicité !

Je pense déjà que les noms seraient à inverser biggrin.gif car il est moins simple d'aller sur une page sandwich avec une valise de renseignements que de tout traiter en interne avec plus de liberté. Curieux choix de la poste à la base, je trouve. C'est peut être le message qu'ils ont voulu faire passer ninja.gif .

Les deux solutions existent. Que la plus courante, Simplicité par défaut, soit gratuite et open source est une bonne chose. Après, que la solution en interne ne le soit pas ne devrait offusquer personne, tant qu'on a le choix des deux, je ne vois pas où est le problème.


J'ai posé la question à la poste en octobre afin de savoir pourquoi ils ne fournissaient pas de module eux mêmes. Ils m'ont répondu que ce n'était pas leur rôle, qu'ils vendaient, par exemple, les timbres mais pas les machines à timbrer... Et c'est vrai qu'à défaut d'acheter une machine à timbrer, on a toujours le choix de coller les timbres avec la langue même si on trouve que la colle n'a pas bon goût...


Bon Dimanche à tous

Écrit par : telede 13 Mar 2011, 15:40

Citation (oneill @ 13 Mar 2011, 12:22) *
Je pense déjà que les noms seraient à inverser biggrin.gif car il est moins simple d'aller sur une page sandwich avec une valise de renseignements que de tout traiter en interne avec plus de liberté.

Ca ca me plait wink.gif

Effectivement et paradoxalement le système Simplicité est plus complexe a implémenter. Liberté plus aisé, a l'exception bien entendu de l'ergonomie sur laquelle il y a du taf'.

Citation (oneill @ 13 Mar 2011, 12:22) *
Curieux choix de la poste à la base, je trouve.

A mon sens une erreur stratégique, j'en discutais hier avec Daniel Kerr qui me disait "why they didn't used cURL, that's easy.."

Surtout que nous sommes à l'heure de l'intégration verticale au sein des solution pour le paiement etc... (donc un paiement internalisé), donc pourquoi essayer de changer les choses en externalisant le shipping !

En + Colissimo France / Coliposte fait une sacré propagande de la solution Simplicité a en croire le bourrage de crâne que subissent les commerciaux...


Écrit par : jordan 17 Mar 2011, 09:29

Bonjour, j'ai avancé dans mon problème.
J'ai installer le module So Colissimo simplicité sur un OsCommerce vierge sans aucune autre installation de contributions et le module d'expédition fonctionne.

Ensuite sur mon site de développement j'ai remplacer les fichiers à modifiés pour le module So Colissimo du site sur lequel mon module fonctionnait (checkout_shipping.php, include/classes/order.php, admin/includes/classes/order.php, admin/orders.php et checkout_process.php) mais j'ai toujours le même problème (je reste bloqué sur la page checkout_shipping.php)...

Dans les deux fichiers .htaccess j'ai le même contenu. Je ne comprends pas vraiment d'où peut venir mon problème, quelqu'un aurait-il la réponse ?

Merci d'avance smile.gif

Écrit par : oneill 17 Mar 2011, 09:34

Peut être un conflit de Jquery. J'ai eu ca
Tu n'as pas 2 deux versions en même temps ?

Écrit par : jordan 17 Mar 2011, 09:45

Où est-ce que je peux voir où sont mes versions JQuery? (je n'ai pas souvent l'habitude de travailler avec)

Écrit par : oneill 17 Mar 2011, 10:10

Tu fais une recherche sur toute ta boutique avec JQuery ou tu fouilles tes entêtes... C'est chez toi. c'est comme si tu me demandais où sont rangés les tasses dans ton appart.... wink.gif En principe, le placard à JS est dans includes/javascript/ mais bon, y a parfois des tasses dans l'évier.

Écrit par : jordan 17 Mar 2011, 10:26

Effectivement j'ai plusieurs fichiers javascript, mais si dans mon fichier "checkout_shipping.php" je ne fais pas appel à différentes versions de js il ne devrait pas y avoir d'erreur si?

Écrit par : oneill 17 Mar 2011, 10:39

Normalement non. J'ai 3 choses qui tournent avec jquery et j'ai du uniformiser les versions. Tu as peut être autre chose, mais la, tout de suite, ca ne me vient pas.

Regardes aussi dans tes boxes

Écrit par : jordan 17 Mar 2011, 10:45

Oui en effet, j'ai un carousel et une boxe défilante mais là sur la page checkout_shipping j'ai tout mis en commentaire, je n'ai plus que le contenu de la page, le header et le footer. Tu pense que ça pourrait encore venir du js?

Je suis à bout, il faut que ce module marche ! =)
Merci de ton aide.

Écrit par : oneill 17 Mar 2011, 11:00

Donnes moi l'adresse de ton site en MP

Écrit par : jordan 17 Mar 2011, 11:38

C'est fait smile.gif

Écrit par : telede 19 Mar 2011, 15:29

Voici la nouvelle version du module qui règle tous les problème de clé !

Merci à mon tortionnaire bien aimé (qui aime bien chatie bien dit-on) qui m'a filé un sérieux coup de main, vous l'aurez reconnu c'est Oneill tongue.gif

Merci aussi particulièrement à Fabien de ACS2i qui m'a donné un accès à son backoffice de la poste durant quelques jours.

http://addons.oscommerce.com/info/7615

Bon Week End wink.gif

Écrit par : brouillard 20 Mar 2011, 11:30

Y-a-t-il une assurance AdValorem pour le SoColissimo ? ou cette assurance ne s'applique qu'au colis pour l'international ?

Écrit par : CkH 22 Mar 2011, 12:18

Citation (oneill @ 17 Mar 2011, 12:00) *
Donnes moi l'adresse de ton site en MP


Bonjour oneill,

J'ai suis dans le même cas que "jordan" en sachant que moi aussi j'ai du jquery que la HP mais pas dans checkout_shipping.php
et je n'ai pas de colonnes dans le process d'achat qui aurai pu inclure du jquery.

Si tu as une piste.

Merci de ton aide


Écrit par : oneill 22 Mar 2011, 12:33

Chez jordan, il ne s'agit pas du jquery mais d'un problème de flux. Lequel ? Ca c'est une autre histoire.

En cas de problème de jquery, on ne bouge pas. Si la page est rechargée, ce n'est pas pareil

Écrit par : CkH 22 Mar 2011, 12:41

Merci de ta réponse, justement j'aimerai bien savoir ce qui coince chez moi, si je suis dans le même cas que jordan ou pas
je suis le post depuis le début et les différentes versions mais rien n'y fait sad.gif

Si tu as le temps de tester sur mon site tu va vite comprendre si je suis dans le même cas.


Merci


Écrit par : alternova 22 Mar 2011, 13:55

Bonjour,

J'ai installé SoColissimo, tout en gardant Colissimo, et il n'est pas possible d'utiliser les deux modes de livraison en même temps.
Le fait de mettre la ligne
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>
dans le head de chekour-shipping empêche le choix de colissimo : quand on sélectionne colissimo, il ne se passe rien, on reste sur la même page.

A traversles échanges de la dernière discussion, je crois que cela vient du jquery, mais je ne vois pas d'où cela vient : probablement d'une autre contrib installée ? Celles-ci sont listées dans ma signature.

J'avais installé il y a quelque temps le carroussel d'images, que j'ai retiré ensuite.

Bref je suis bloquée,
En espérant que vous pourrez m'aider...

Écrit par : ecom 28 Mar 2011, 11:14

Bonjour,

Quelqu'un a t'il testé la derniere version de SoColissimo Simplicité 1.2 du 19 mars 11 avec OsC Max v2.0?
Merci pour vos retours.

Écrit par : acs2i 28 Mar 2011, 13:51

Bonjour a tous,

J'ai un probleme sur l'installation de cette contrib.
En suivant toute la doc (de la derniere version 1.3), des que j'active le mode so colissimo dans l'admin la page checkout_shipping me donne une page blanche.

J'ai refait plusieurs installs, et toujours le meme resultat.

J'ai refait un test en ne copiant que le fichier socolissimos.php dans module\shipping, et pareil des que j'active le mode de livraison mon checkout_shipping est dans les choux page blanche (donc ce n'est pas le code rajouté aux differentes fichiers qui pose probleme).
Le plus bizarre est que pour m'en sortir je dois supprimer le fichier socolissimos.php de l'admin et restaurer un fichier checkout_shipping.

Une idée ?

Merci

C'est oscommerce MS2.2
Base de données : MySQL 4.1.21-standard-log
Serveur HTTP : Apache/1.3.37 (Unix) mod_gzip/1.3.19.1a PHP/4.4.4 mod_ssl/2.8.28 OpenSSL/0.9.6m
Version PHP : 4.4.4 (Zend : 1.3.0)

Écrit par : telede 28 Mar 2011, 14:07

Citation (alternova @ 22 Mar 2011, 13:55) *
dans le head de chekour-shipping empêche le choix de colissimo : quand on sélectionne colissimo, il ne se passe rien, on reste sur la même page.

J'avais déjà répondu dans ce topic, essaie de remplacer le code js de ext/modules/shipping/socolissimos/socolissimos.js

par celui ci :
Code
$(document).ready(function() {
   var module = $('input[value="socolissimos_socolissimos"]');
  
   $('input[type=image]').click(function()
   {
      if ( module.attr('checked') == true )
      {  
       // On Injecte une div
       //
       $('body').append('<div id="modSoColissimos"></div>');
  
        $.ajax({
         type: 'GET',
         url: $('#sosModule').val(),
         dataType: 'html',
         success: function(data) {
            $('#modSoColissimos').html(data);
            }
         });
         return(false);
      }
     });
});

Écrit par : alternova 28 Mar 2011, 18:55

Bonsoir,
merci pour la réponse ,
j'ai modifié ce code,
ce qui ce passe maintenant, c'est que, lorsque que je sélectionne "socolissimos" et que je clic sur continuer, il reste sur la page, et remet Colissimo par défaut.
Maintenant, il n'accepte que Colissimo...
Si tu as une idée d'où ça peut venir ?

Écrit par : brouillard 28 Mar 2011, 19:30

Citation (alternova @ 28 Mar 2011, 18:55) *
Bonsoir,
merci pour la réponse ,
j'ai modifié ce code,
ce qui ce passe maintenant, c'est que, lorsque que je sélectionne "socolissimos" et que je clic sur continuer, il reste sur la page, et remet Colissimo par défaut.
Maintenant, il n'accepte que Colissimo...
Si tu as une idée d'où ça peut venir ?



Je vois que tu as beaucoup de difficulté à installer le module simplicité, moi je l'ai installé et il a marché du 1er coup, mais pour une version gratuite je trouve que c'est super.

mais pour avoir un module plus évolué et puisque tu as une eboutique rentable pourquoi tu ne prends pas le module So Colissimo Libetré de telede, que j'ai testé personnellement sur la boutique de Dvf et erocasha et que j'ai trouvé beaucoup plus performant que le simplicité, de plus que ça donne un plus à ta eboutique puisque tes client ne seront pas troublés par ce va et vient entre ton site et celui de la poste.

Écrit par : telede 29 Mar 2011, 06:09


C'était juste pour dire que le JS a été corrigé et que le module est disponible ici :

http://addons.oscommerce.com/info/7615

Écrit par : alternova 29 Mar 2011, 10:33

@ Brouillard, je te remercie, mais je n'avais pas vu quelle était la différence entre Liberté et Simplicité, comme j'ai commencé à installer Simplicité, je préfère rester sur celui-ci.

@ Telede : merci pour la correction du code, maintenant cela fonctionne nickel, ouf !

Écrit par : saphir52 29 Mar 2011, 15:42

Je viens de tester ces nouvelles modifications mais toujours mes problèmes de signature et/ou de caractères.

D’ailleurs j’ai remarqué un truc bizarre : où est passé le numéro de version qui doit être transmis ?


Écrit par : ecom 29 Mar 2011, 15:58

Bonjour,

Je pose la même question pour liberté.
Quelqu'un a t'il testé la derniere version de SoColissimo liberté avec OsC Max v2.0?
Merci pour vos retours.

Écrit par : telede 29 Mar 2011, 16:28

Citation (saphir52 @ 29 Mar 2011, 15:42) *
D’ailleurs j’ai remarqué un truc bizarre : où est passé le numéro de version qui doit être transmis ?

Apparemment il n'est pas obligatoire puisque ca fonctionne bien sans !

Citation (saphir52 @ 29 Mar 2011, 15:42) *
Je viens de tester ces nouvelles modifications mais toujours mes problèmes de signature et/ou de caractères.

Procède étape par étape, règle tes problèmes de signatures et après tu verras pour ceux de charset.

si quelqu'un a des infos la dessus volontier, car j'ai un site qui est codé entièrement en UTF8 et j'ai le même probleme blink.gif

Citation (ecom @ 29 Mar 2011, 15:58) *
Quelqu'un a t'il testé la derniere version de SoColissimo liberté avec OsC Max v2.0?

Ca marche sur tous les osCommerces et dérivés puisque ca a été conçu pour ca.

C'est marrant, en ce moment je me fais meme spammer par MP sur le forum US pour ce fameux osC max !

Écrit par : brouillard 29 Mar 2011, 16:51

Citation (ecom @ 29 Mar 2011, 15:58) *
Bonjour,

Je pose la même question pour liberté.
Quelqu'un a t'il testé la derniere version de SoColissimo liberté avec OsC Max v2.0?
Merci pour vos retours.



SoColissimo liberté n'est pas sorti en version gratuite, mais si tu le veux demande à l'auteur de SoColissimo simplicité.

Écrit par : saphir52 30 Mar 2011, 07:54

Citation (telede @ 29 Mar 2011, 16:28) *
Citation (saphir52 @ 29 Mar 2011, 15:42) *
D'ailleurs j'ai remarqué un truc bizarre : où est passé le numéro de version qui doit être transmis ?

Apparemment il n'est pas obligatoire puisque ca fonctionne bien sans !

Citation (saphir52 @ 29 Mar 2011, 15:42) *
Je viens de tester ces nouvelles modifications mais toujours mes problèmes de signature et/ou de caractères.

Procède étape par étape, règle tes problèmes de signatures et après tu verras pour ceux de charset.

si quelqu'un a des infos la dessus volontier, car j'ai un site qui est codé entièrement en UTF8 et j'ai le même probleme blink.gif


Un extrait de la doc d'installation de LaPoste (version 4) pour l'installation du module :
Chaîne_à_convertir=pudoFOId+dyForwardingCharges+orderId+numVersion+trReturnUrlKo+cléSHA


Écrit par : okom3pom 30 Mar 2011, 12:55

Bonjour,

J'utilise pour le moment un module fait par mes soins et j'ai donc voulu tester ce module.

Je me suis retrouvé dans le même cas de figure que Jordan et CkH, jquery me chargeait dans la div la page checkout_shipping.php

Dans la function qote() de la classe il y a :

Code
        if (  ! class_exists('so_colissimos') ) // uniquement en front
         {          
          $title_ext  = '<input type="hidden" value="';/* NE PAS TOUCHER > utilis‚ par le JavaScript */
          $title_ext .= tep_href_link($this->soColissimos->path('socolissimos.html'));
          $title_ext .= '" id="sosModule" />'; /* NE PAS TOUCHER > utilis‚ par le JavaScript */
        }


Si je commente le if ça fonctionne. Ne faut il pas utiliser la variable FILENAME_MODULE pour utiliser uniquement une partie du code dans le FRONT ?

Pour améliorer encore le module, je pense qu'utiliser un id pour le bouton image serait plus judicieux, sur mon site j'ai d'autre bouton image ils perdent alors leur fonction quand on fait appelle à : ext/modules/shipping/socolissimos/socolissimos.js

Donc le fichier pourrait devenir par exemple :

Code
$(document).ready(function() {
   var module = $('input[value="socolissimos_socolissimos"]');
  
   $('#so_colis').click(function()
   {
      if ( module.attr('checked') == true )
      {  
       // On Injecte une div
       //
       $('body').append('<div id="modSoColissimos"></div>');
  
        $.ajax({
         type: 'GET',
         url: $('#sosModule').val(),
         dataType: 'html',
         success: function(data) {
            $('#modSoColissimos').html(data);
            }
         });
         return(false);
      }
     });
});


Et dans checkout_shipping.php on remplace :

Code
tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE);

par

tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE, ' id="so_colis" ');


Cordialement Okom3pom

Écrit par : brouillard 30 Mar 2011, 13:18

Citation (okom3pom @ 30 Mar 2011, 12:55) *
Bonjour,

.................. Donc le fichier pourrait devenir par exemple :

Code
$(document).ready(function() {
      var module = $('input[value="socolissimos_socolissimos"]');
      
      $('#so_colis').click(function()
      {
         if ( module.attr('checked') == true )
         {  
          // On Injecte une div
          //
          $('body').append('<div id="modSoColissimos"></div>');
    
           $.ajax({
            type: 'GET',
            url: $('#sosModule').val(),
            dataType: 'html',
            success: function(data) {
               $('#modSoColissimos').html(data);
               }
            });
            return(false);
         }
        });
   });


Et dans checkout_shipping.php on remplace :

Code
tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE);
  
   par
  
   tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE, ' id="so_colis"');


Cordialement Okom3pom



Très bonne astuce pour vérifier si le bouton est cliqué !

Écrit par : telede 30 Mar 2011, 13:26

Citation (saphir52 @ 30 Mar 2011, 07:54) *
Un extrait de la doc d'installation de LaPoste (version 4) pour l'installation du module :
Chaîne_à_convertir=pudoFOId+dyForwardingCharges+orderId+numVersion+trReturnUrlKo+cléSHA


Dis toi bien que la doc de la poste, je l'ai lue en long en large et en travers ... je l'ai encore en travers d'ailleurs,
si Oneill n'avait pas été là je serais peut être encore entrain de chercher, et on avait obtenu qu'un nombre infime de champs !

Citation (brouillard @ 30 Mar 2011, 13:18) *
Très bonne astuce pour vérifier si le bouton est cliqué !

J'ai développé le module afin que l'utilisateur ai un minimum d'effort (donc de modif de code) a faire à l'installation, ca n'a pas été réussit pour tout le monde, forcément l'exception confirme la règle wink.gif

Ceci dit cette modif ne sert strictement à rien (par rapport à la version actuelle en download)...

Écrit par : computer 30 Mar 2011, 14:50

Bonjour,

Je viens d'installer la dernière version avec le correctif, mais rien à faire je reste toujours bloqué sur la page checkout_shipping.php
J'ai relus mon code et je n'ai pas fait d'erreur, j'ai également parfaitement placé les nouveaux fichiers.

Écrit par : brouillard 30 Mar 2011, 14:52

Citation (telede @ 30 Mar 2011, 13:26) *
...................
Citation (brouillard @ 30 Mar 2011, 13:18) *
Très bonne astuce pour vérifier si le bouton est cliqué !

J'ai développé le module afin que l'utilisateur ai un minimum d'effort (donc de modif de code) a faire à l'installation, ca n'a pas été réussit pour tout le monde, forcément l'exception confirme la règle wink.gif

Ceci dit cette modif ne sert strictement à rien (par rapport à la version actuelle en download)...



Moi je n'ai fait que commenté le poste de l'auteur, tes condoléances, en gras ou en italiques, tu peux les adresser directement à l'auteur de la modification, c'est à dire okom3pom.

Écrit par : saphir52 30 Mar 2011, 17:07

J'arrive maintenant à passer les prénoms, adresse, ville avec des caractères spéciaux en rajoutant dans socolissimos.class.php par exemple : $address1 = utf8_encode($address1);
Il me reste le blocage avec les noms car j'ai vu que ce paramètre était utilisé avec la commande : $hash .= $lastname;

Lorsque j'arrive à la page sandwich de LaPoste, je n'ai pas de choix de point de dépot ou retrait, j'ai uniquement l'option "livraison à domicile" ! Qu'est-ce que j'ai pu oublier ?

Lorsque qu'un client saisi un numéro de téléphone portable pour être averti par Laposte du dépot du colis, je ne retrouve nulle part cette information sur la facture ou dans la commande.
Le seul numéro de tel qui y figure est celui renseigné lors de la création du compte, donc souvent un numéro de tel fixe. Pour créer une etiquette socolissimo il faut impérativement un numéro de tel portable 06.... ou 07....

Écrit par : okom3pom 30 Mar 2011, 22:28

Citation
Ceci dit cette modif ne sert strictement à rien (par rapport à la version actuelle en download)...


Houla je ne faisais qu'apporter une pierre à l'édifice, et quand je regarde sur mon site qui a par exemple ...

Code
<input type="image" src="image_theme/loupe.png"  alt="Rechercher" title=" Rechercher ">


ce code sur toute les pages, si un client se disait sur la page checkout_shipping.php je vais faire une recherche ça l'aurait envoyé sur la page tampon du site de la poste.

Rien de grave mais bon ça pourra peu être servir à quelqu'un.

Amicalement Okom3pom

Écrit par : telede 31 Mar 2011, 03:06

Effectivement...

Écrit par : okom3pom 31 Mar 2011, 07:22

@saphir52

Pour le numéro de téléphone portable ce que j'ai fais déjà c'est rajouter un champ téléphone portable.
Ensuite en retour de la page sandwich, tu peux mettre à jour le téléphone comme ça sur les commandes suivante de tes clients tu n'auras pas de problème.

Sans les functions oscommerce le code pourrait donner.

Code
    if( $r['customers_portable'] != $_POST['CEPHONENUMBER'] && '0600000000' !=  $_POST['CEPHONENUMBER'] ) {
    
    $query = "UPDATE customers set customers_portable = '".$_POST['CEPHONENUMBER']."'  WHERE customers_id = '" . (int)$customer_id . "' ";
    
    mysql_query( $query );        

    }

A toi de faire comme bon te semble, traiter la variable téléphone pour remplacer les espaces, les -, ou autre caractère, de voir si tu mets le champs toujours à jour ou pas.


Si tu ne peux pas choisir de point relais c'est que tu passes la variable trFirstOrder avec la valeur 1
Soit tu las mets à 0 soit tu la supprimes.

Bon courage Okom3pom

Écrit par : okom3pom 31 Mar 2011, 08:08

Dans le module que j'ai fais, je faisais également une vérification de la page http://ws.colissimo.fr/supervision-pudo/supervision.jsp qui nous dis si le service est en ligne.
Attention les personnes qui ajoute ceci doivent avoir Curl

Dans le fichier : includes/modules/shipping/socolissimos.php

Apres :

Code
        if ($check_flag == false) {
          $this->enabled = false;
        }
      }


On ajoute :

Code
      
          // On regarde si le site socolissimo est en ligne
          
      $ch = curl_init();  // Initialiser cURL.
      curl_setopt($ch, CURLOPT_URL, 'http://ws.colissimo.fr/supervision-pudo/supervision.jsp');  
      curl_setopt($ch, CURLOPT_HEADER, 0);  
      curl_setopt($ch, CURLOPT_TIMEOUT, 5);
      curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);


      ob_start();  

      curl_exec($ch);  
      curl_close($ch);

      $cache = ob_get_contents();
      ob_end_clean();  // Vider le buffer.

      // Si le service ne retourne pas OK on désactive le module
      if (  !ereg ("(\[OK\])", $cache, $regs) )
      $this->enabled = false;


Bonnes ventes Okom3pom

Écrit par : computer 1 Apr 2011, 22:29

Bonjour,

Malgré la vérification de l'installation de la contribution + l'installation des derniers patchs, je reste toujours bloqué sur la page checkout_shipping.php, je pense que je ne suis pas le seul à être dans ce cas là et j'en ignore les raisons.

Écrit par : oneill 2 Apr 2011, 14:34

Citation (okom3pom @ 31 Mar 2011, 07:22) *
Si tu ne peux pas choisir de point relais c'est que tu passes la variable trFirstOrder avec la valeur 1
Soit tu las mets à 0 soit tu la supprimes.

Mais aussi, si le poids du colis dépasse 20kg, pas de relais non plus.

Je pense qu'il peut y avoir quelques soucis avec les commutateurs OUI/NON et True/False... A vérifier sur les vieilles osc
(J'ai aussi vu un module qui disparaissait à cause d'un True en base de données et un true en module)

Écrit par : telede 3 Apr 2011, 03:48

Citation (okom3pom @ 31 Mar 2011, 08:08) *
Dans le module que j'ai fais, je faisais également une vérification de la page http://ws.colissimo.fr/supervision-pudo/supervision.jsp qui nous dis si le service est en ligne.
Code
      
      // Si le service ne retourne pas OK on désactive le module
      if (  !ereg ("(\[OK\])", $cache, $regs) )

Il ne faut pas utiliser ereg ou eregi, ces fonctions on été dépréciées en PHP5, vous pouvez la remplacer comme ceci :
Code
      
      // Si le service ne retourne pas OK on désactive le module
      if (  !preg_match ("/\[OK\]/", $cache, $regs) )

J'ai trouvé leur initiative plutôt surprenante cette url de "supervision" : plutôt que de rediriger sur un autre serveur en cas d'indispo, on informe le client que le serveur est planté ....

Simple curiosité perso, que faites vous dans le cas où le serveur de la poste est justement planté ?

Citation (oneill @ 2 Apr 2011, 14:34) *
Je pense qu'il peut y avoir quelques soucis avec les commutateurs OUI/NON et True/False

Je pense qu'il doit s'agir de quelquechose comme ça wink.gif

Écrit par : oneill 3 Apr 2011, 08:42

J'utilise cette astuce pour tester l'url de supervision, que je décrivais http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=67304&view=findpost&p=351149 au mois de novembre, où je fais plutôt ce test

Code
if(stristr(htmlentities($content), '[OK]') === FALSE) {
et en mode Simplicité le module Socolissimo est simplement désactivé et le client invité à se démerder débrouiller autrement.

Écrit par : okom3pom 3 Apr 2011, 13:15

Citation
Simple curiosité perso, que faites vous dans le cas où le serveur de la poste est justement planté ?


J'ai le même test dans autre module mzt_table si le site de laposte est down, ça active le module.

J'ai pas trouvé mieux à faire.

Citation
Il ne faut pas utiliser ereg ou eregi, ces fonctions on été dépréciées en PHP5, vous pouvez la remplacer comme ceci :


Héhé merci bien, je tourne sous php 5.2 et j'ai pas mal de sites qui utilisent ces fontions, tu viens de me donner plein de boulot pour lundi. happy.gif

Écrit par : AraCyan 4 Apr 2011, 14:40

Bonjour à tous,

J'ai subit moi aussi les soucis de la page checkout_shipping.php. wacko.gif
En sélectionnant une expédition Colissimo ou autre, je passe à l'étape suivante.
Mais en sélectionnant SoColissimo, je reste sur checkout_shipping.php, et en plus la page s'affiche deux fois !

angry.gif Piqué au vif dans ma maîtrise du codage php j'ai engagé moult vérifications et remarqué que tout simplement les variables du formulaire n'étaient pas envoyées en sélectionnant le bouton radio du SoColissimo...

En analysant la source de la page j'ai constaté l'absence de l'input

Code
<input type="hidden" value="http://www.monoscommerce.com/ext/modules/shipping/socolissimos/socolissimos.php" id="sosModule" />
blink.gif

J'ai donc été voir dans le IF responsable dans le "includes\modules\shipping\socolissimo.php ", ligne 209 à 215 chez moi.
Et là je vois que en effet si je met le IF en commentaire comme ci dessous, tout se met à fonctionner normalement:
Code
   //  if ( ! class_exists('so_colissimos') ) // uniquement en front
        //{          
          $title_ext  = '<input type="hidden" value="';/* NE PAS TOUCHER > utilis‚ par le JavaScript */
          $title_ext .= tep_href_link($this->soColissimos->path('socolissimos.php'));
          $title_ext .= '" id="sosModule" />'; /* NE PAS TOUCHER > utilis‚ par le JavaScript */
        //}


laugh.gif

Cependant ce n'est pas une solution normale!
Est-ce-que quelqu'un sait pourquoi il me dit que la class so_colissimos existe alors qu'on est pas arrivé en bas?
blush.gif blush.gif

Écrit par : telede 4 Apr 2011, 14:57

Citation (AraCyan @ 4 Apr 2011, 14:40) *
Bonjour à tous,

Ca c'est cool, salut wink.gif

Citation (AraCyan @ 4 Apr 2011, 14:40) *
Cependant ce n'est pas une solution normale!

Non pas un brin, tu peux me dire quelle version de PHP tu utilises et sur quelle plateforme ?

Merci wink.gif

Écrit par : okom3pom 4 Apr 2011, 15:04

Bonjour,

Tu as exactement le même soucis que moi, je pense que nos versions de php sont en causes.
Je suis sous php 5.2, je n'ai pas eu le temps de chercher j'ai donc remplacer la ligne par :

if ( ! defined('FILENAME_MODULES') )

pour éviter l'erreur dans le back office.

3pom

Écrit par : AraCyan 4 Apr 2011, 15:10

Système d'exploitation : Linux 2.6.18.1dedibox_r6_final
Base de données : MySQL 5.0.32-Debian_
Serveur HTTP : Apache
Version PHP : 5.2.0-8

ça serait ça ??

blink.gif

Edit :
Solution trouvé :
http://php.net/manual/fr/function.class-exists.php

Remplacer :

Code
  if ( ! class_exists('so_colissimos') ) // uniquement en front


Par :
Code
if ( ! interface_exists('so_colissimos') ) // uniquement en front


biggrin.gif
Et ça marche!

Écrit par : telede 4 Apr 2011, 17:58

Citation (AraCyan @ 4 Apr 2011, 15:10) *
Solution trouvé :

Ce n'est pas une solution ! une classe est une classe et une interface est une interface même si les concepts sont similaires ...

Au même titre que la programmation orienté objet n'existe que dans nos esprits et notre interprétation, pas en language informatique ....

Ce que nous donne okom3pom est une solution ! wink.gif

Peux tu nous dire ce que retourne, juste à l'endroit cité :
Code
var_dump( class_exists('so_colissimos') );


Merci wink.gif

Écrit par : okom3pom 4 Apr 2011, 19:46

Code
var_dump( class_exists('so_colissimos') );

bool(true);


Je pense qu'on aura le même résultat.

Écrit par : telede 5 Apr 2011, 01:58

Citation (okom3pom @ 4 Apr 2011, 19:46) *
Je pense qu'on aura le même résultat.


Oui tu as raison biggrin.gif

C'est plutôt ca qu'il faut faire :

Code
var_dump( so_colissimos );


Écrit par : brouillard 5 Apr 2011, 07:02

Citation (telede @ 3 Apr 2011, 03:48) *
Citation (okom3pom @ 31 Mar 2011, 08:08) *
Dans le module que j'ai fais, je faisais également une vérification de la page http://ws.colissimo.fr/supervision-pudo/supervision.jsp qui nous dis si le service est en ligne.
Code
      
       // Si le service ne retourne pas OK on désactive le module
       if (  !ereg ("(\[OK\])", $cache, $regs) )

Il ne faut pas utiliser ereg ou eregi, ces fonctions on été dépréciées en PHP5, vous pouvez la remplacer comme ceci :
Code
      
       // Si le service ne retourne pas OK on désactive le module
       if (  !preg_match ("/\[OK\]/", $cache, $regs) )

.........................


Dans includes/modules/shipping/socolissimos.php ligne 260
Code
$table = split("[:,]" , $cost);

Il ne faut pas utiliser split, cette fonction a été dépréciée en PHP5, vous pouvez la remplacer par preg_split

Écrit par : okom3pom 5 Apr 2011, 07:38

var_dump( so_colissimos );

string(13) "so_colissimos";


Écrit par : telede 5 Apr 2011, 08:22

Bein oui, moi j'ai bien true avec is_object,

donc il faudrait voir ce qu'a Aracyan car le comportement du module dans son cas n'est pas normal ...


@brouillard : oui elle est bonne celle la smile.gif

Écrit par : AraCyan 5 Apr 2011, 14:06

Re,

En fait c'est uniquement dans function quote($method = '') que

Code
if ( ! class_exists('so_colissimos') ) /
pose soucis.

Au dessus dans le function socolissimos() ça fonctionne..



Par contre un fois qu'on valide sur SoColissimo ça revient sur le site mais on a :
Code
errorcode: array(22) { ["PUDOFOID"]=> string(14) "0XXXXXXXX" ["CECIVILITY"]=> string(2) "MR" ["CENAME"]=> string(8) "Peronne" ["CEFIRSTNAME"]=> string(7) "Jeanpierre" ["CEADRESS1"]=> string(0) "" ["CEADRESS3"]=> string(19) "5 allée du tests" ["CETOWN"]=> string(5) "Paris" ["CEZIPCODE"]=> string(5) "75000" ["DELIVERYMODE"]=> string(3) "DOM" ["CEEMAIL"]=> string(25) "vinzzzet@orange.fr" ["CEPHONENUMBER"]=> string(10) "06700000" ["DYPREPARATIONTIME"]=> string(1) "1" ["DYFORWARDINGCHARGES"]=> string(4) "0.00" ["TRCLIENTNUMBER"]=> string(4) "3335" ["TRORDERNUMBER"]=> string(0) "" ["TRPARAMPLUS"]=> string(0) "" ["TRADERCOMPANYNAME"]=> string(25) "SARL XXX" ["ORDERID"]=> string(12) "05XXXXX" ["ERRORCODE"]=> string(4) "133 " ["ERR_DYWEIGHT"]=> string(1) "0" ["SIGNATURE"]=> string(40) "ba0f45cdf9XXXXc4ceb" ["NUMVERSION"]=> string(0) "" }


Il manque quelque chose, ça peut être lié?

Écrit par : telede 5 Apr 2011, 14:27

133 > Le champ poids n'est pas valide | non bloquant ...

Pour finir le module correctement il faudrait un "switch case" à l'étape retour avec un arrêt sur erreur bloquante ou continuer sur non bloquant ...

j'avais crapuleusement mis un var_dump() et die pour le débuggage, mais en production c'est pas très fin...

Quelqu'un pour aider ? moi j'envoie la doc par mail si il faut ...

C'est juste une question de temps pour moi, je ne peux pas développer la version commerciale a qualité égale de la version gratuite qui est censé être communautaire ...

Écrit par : brouillard 5 Apr 2011, 14:43

MODERATION ONEILL

Allégations totalement gratuites et improductives



Écrit par : oneill 5 Apr 2011, 16:00

@ AraCyan
Peux-tu me filer ton checkout_shipping.php en MP ?

Écrit par : okom3pom 6 Apr 2011, 13:28

@AraCyan

Tu as deux solutions :

1) Tu souhaites gérer toutes les erreurs :

Je n'ai pas mis toutes les correspondance des erreurs, seulement si elle bloque ou non, tu as ce tableau dans le guide d'intégration :

Code
switch ($_POST['ERRORCODE']) {
case '001':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '002':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '003':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '004':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '005':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '006':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '007':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '008':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '009':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '010':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '011':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '012':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '013':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '014':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '015':
    $erreur = 'Identifiant FO manquant ';
    $die = true;
    break;

case '016':
    $erreur = 'SGBD non disponible';
    $die = true;
    break;

case '016':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '501':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '502':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '503':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '504':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '505':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '506':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '507':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '508':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '509':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '510':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '511':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '512':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '513':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;


case '514':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '515':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '516':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '517':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;

case '131':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;


case '132':
    $erreur = 'SGBD non disponible';
    $die = false;
    break;


case '133':
    $erreur = 'Le champ poids n\'est pas valide,champ ignoré';
    $die = false;
    break;



}


         if( $die == true) {

         mail('ton_mail','Erreur SoColissimo','Erreur : '.(int)$_POST['ERRORCODE'].' : '.$erreur,'FROM:tonmail');
         // die mais tu peux rediriger faire ce que tu veux
             die('Nous sommes désolé une erreur est survenue.');
         }
         else
             mail('ton_mail','Erreur non bloquante SoColissimo','Erreur : '.(int)$_POST['ERRORCODE'].' : '.$erreur,'FROM:tonmail');


2) Tu regardes seulement si c'est bloquant ( $_POST['ERRORCODE'] < 100 )

Code
if( (int)$_POST['ERRORCODE'] > 100 )
$die = false;
else
$die = true;

             if( $die == true) {

         mail('ton_mail','Erreur SoColissimo','Erreur : '.(int)$_POST['ERRORCODE'].' : '.$erreur,'FROM:tonmail');
         // die mais tu peux rediriger faire ce que tu veux
             die('Nous sommes désolé une erreur est survenue.');
         }
         else
             mail('ton_mail','Erreur non bloquante SoColissimo','Erreur : '.(int)$_POST['ERRORCODE'].' : '.$erreur,'FROM:tonmail');


Selon la solution que tu choisis :

Dans includes/modules/shipping/socolissimos.php tu remplaces :

Code
              echo "errorcode: ";
              var_dump($_POST);
              die; // DEBUG
              tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));


Par un des deux codes.

Voilà le principe, après tu peux faire ce que tu veux une SESSION qui te permet d'activer un autre module en cas d'erreur bloquante ou autre.

Une troisième solution barbare et il ne faut pas que tes colis dépassent les 20 kg

Dans ext/modules/shipping/socolissimos/socolissimos.class.php

Tu commentes la ligne :

Code
$fields .= '<input type="hidden" name="dyWeight" value="' . $weight . '" />';


3pom

Écrit par : AraCyan 6 Apr 2011, 15:25

Bonjour!

@okom3pom
Je viens de mettre en place ta première solution et ça fonctionne! Le mail erreur 113 arrive bien. Et je passe à l'étape paiement.
Les infos de commandes sont repris donc je suis pas sur que j'ai besoin de récupérer ce mail erreur.

Un grand merci à toi biggrin.gif

@oneill
Tu as le chekoutshipping dans le MP wink.gif


Pour le mystère du input dans le function quote($method = '') , j'ai mis ce qui suit, ça marche, mais c'est pas encore la bonne solution

Code
  if (  class_exists('so_colissimos') )

*
Forcément ça marche.... blush.gif

Écrit par : okom3pom 6 Apr 2011, 22:41

Hello,

@AraCyan

Est ce que les poids de tes articles sont renseignés dans ta base de donnée ?

Si ce n'est pas le cas et que tu n'as pas de commande au dessus de 20 kg, tu peux commenter la ligne de la 3ème solutions que j'ai donné, comme ça tu n'aura pas l'erreur 133 et laisser le mail comme ça en cas d'erreur tu seras avertis.

En cas d'erreur, je m'envoie un mail cela m'a permit de voir que j'oubliais de temps en temps le poids sur certains articles.

Je crée également une session socolis_down = true; en cas d'erreur bloquante et je redirige de nouveau sur la page checkout_shipping.php
Ensuite j'ai le module mzt_table ( ça fonctionne avec n'importe quel autre module )

Dedans tu ajoutes :

Code
if( !$_SESSION['socolis_down'] )
$this->enable = false; // on désactive le module
else
$this->enable = true; // Erreur bloquante on l'active


Cette vérification sera utile que tès rarement :

Le client arrive sur checkout_shipping.php --> Le test de l'url de supervision passe ( voir page 7 ou 8 de ce sujet si tu ne l'as pas ajouté ) --> avant que le client choisisse la méthode d'expédition le serveur socolissimo tombe en rade.

En parlant de l'url de supervision, il faut également la tester dans un second module pour l'activer en cas de serveur down de la poste.

Si tu as des questions hésite pas à me demander, demain je vais essayer de refaire le package avec les tests de l'url de supervison ainsi que la gestion des erreurs et les fonctions à remplacer par des nouvelles pour php 5.3 ( split et ereg )

Ps : Les colis de + de 20 kg ne sont pas autorisé en point relais donc, si tu dois avoir des commandes qui les dépassent il va falloir sortir la balance au risque d'avoir des refus par les points relais.

Bonnes ventes à tous Okom3pom

Écrit par : okom3pom 8 Apr 2011, 11:30

Bonjour à tous,

Je me suis rendu compte que mon switch est pas bon, $_POST['ERRORCODE'] = string(4);

Donc faut ajouter un espace, ou switch( (int)$_POST['ERRORCODE'] ) et enlever les '

Je le corrigerais dans le pack.

Écrit par : AraCyan 8 Apr 2011, 14:47

En fait vu que ce sont des petits produits, le client a utilisé la très étrange méthode d'envoi selon le prix.
Donc forcément c'est jamais à zéro happy.gif

Pour le reste, vu que là ça fonctionne je ne suis pas sur de vouloir trifouiller.
Merci à tous en tout cas.

Écrit par : oneill 8 Apr 2011, 18:45

En tous les cas, je n'ai rien vu de bizarre dans ton checkout_shipping blush.gif

Écrit par : okom3pom 13 Apr 2011, 10:59

Nouvelle version du module avec pas mal de d'ajout de ce dont nous avons discuté sur le forum

- > Rempalcement des fonctions dépréciées dans php 5.3

- > Ajout d'un id au bouton checkout_shipping

- > Ajout test de l'url de supervision SoColissimo

- > Ajout de la gestion des erreur de retour SoColissimo

- > Harmonisation des modifications - correctif < RC2

http://addons.oscommerce.com/info/7615

Merci à telede.

3pom

Écrit par : oneill 13 Apr 2011, 13:14

Euh... php 5.3 c'est pas un peu rapide ? Y a déjà du monde en 5.3 ?
Msql 5 aussi du coup ! Et ca coince pas dans les jointures ?

Pour les vieilles osc-gimbardes on va aller molo hein.



Citation (Robert Lamoureux - La 7ème compagnie)
Mais pas si vite !

Écrit par : okom3pom 13 Apr 2011, 13:22

Bonjour oneill,

Nous avons remplacé les functions depréciées par des functions qui ne le sont pas mais qui sont utilisables sous php 4.

Exemple ereg par preg_match

3pom


Écrit par : oneill 13 Apr 2011, 14:05

N'exagérons rien biggrin.gif je suis en 5.2 cool.gif mais il y a des différences notables entre la 5.2 et la 5.3

Écrit par : henrik 14 Apr 2011, 18:01

Bonjour,

Est-ce qu'il y a un URL test pour le module socolissimo simplicité comme il en existe un pour la solution de paiement atos/sips ?

Écrit par : okom3pom 15 Apr 2011, 07:17

Salut

Non, pour tester le module sans que tes clients puissent l'utiliser tu peux par exemple ajouter dans le module

if( $_SESSION['customer_id'] != 2 )
$this->enable = false;

Seul le client numéro 2 aura accès au module.

3pom

Écrit par : telede 16 Apr 2011, 11:43

Bonjour,

Une poussée épidermique m'a fait publier, So Colissimo Simplicité v1.5 :

Téléchargeable ici : http://addons.oscommerce.com/info/7615

- Ajout du support osCommerce v2.3
- Ajout d'une option dans l'admin pour activer l'URL de Supervision ou non

Enjoy wink.gif

Écrit par : henrik 18 Apr 2011, 13:55

D'accord,

merci okom3pom

Écrit par : henrik 18 Apr 2011, 16:32

Bonjour,

J'ai ajouté un n° de téléphone portable de contact appartenant à la boutique dans le cas où le client n'en a pas. Les contacts de socolissimo m'ont dit que c'était le seul moyen de ne pas bloquer cette option d'expédition dans ce cas.

j'ai ajouté dans le fichier socolissimos.php (modules/shipping) dans la fonction install() :

Code
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('N&deg; portable de contact', 'MODULE_SHIPPING_SOCOLISSIMOS_TELEPHONE', '0600000000', 'N&deg; de t&eacute;l&eacute;phone portable de contact si le client n\'a pas un n&deg; portable.', '6', '0', now())");


puis dans la fonction keys() j'ai ajouté 'MODULE_SHIPPING_SOCOLISSIMOS_TELEPHONE' à la fin.

Dans le fichier socolissimos.class.php dans la fonction init() :
Code
$phone = $order->customer['telephone'];
$phone = preg_replace('/[^\x30-\x39\x2B]/', '', $phone);
if (!(substr($phone, 0,2) == '06' || substr($phone, 0,2) == '07')) {
   $phone = MODULE_SHIPPING_SOCOLISSIMOS_TELEPHONE;
}


Pour éviter que les accent ne se transmettent pas bien vers le formulaire de la page sandwich, j'ai ajouté dans les champs "nom", "prénom", "compagnie", "adresse 1", "adresse 2" et "ville" les lignes (fichier socolissimos.class.php dans la fonction init() ) :
Code
$firstname = mb_convert_encoding($firstname, "UTF-8", "ISO-8859-1");

après les lignes
Code
$firstname = $shipping_address['entry_firstname'];
$firstname = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $firstname);
$firstname = substr($firstname, 0, 29);

etc.

En espérant que ceci, pourrais être utile.

Écrit par : saphir52 22 Apr 2011, 16:49

De mon coté même avec cette nouvelle version et ces nouvelles modifications, j'ai toujours des soucis de caractères accentués.

Par exemple avec le prénom sous socolissimo : St&.65533;phane

Je ne parle même pas du nom car là c'est encore pire ça ne passe même pas lorsque qu'il y a des accents.

Écrit par : oneill 24 Apr 2011, 07:59

Ce matin ,empoignage du taureau par les cor(o)nes....


Dans socolissimos.class.php pouvez-vous remplacer

Code
      // Filtrage
      //
      $firstname = $shipping_address['entry_firstname'];
      $firstname = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $firstname);
      $firstname = substr($firstname, 0, 29);
      
      $lastname = $shipping_address['entry_lastname'];
      $lastname = preg_replace('/\x00-\x1F\x21-\x2B]/', '', $lastname);
      $lastname = substr($lastname, 0, 34);                  
      
      $company = $company = $shipping_address['entry_company'];
      $company = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $company);
      $company = substr($company, 0, 38);  
      
      $address1 = $shipping_address['entry_street_address'];                  
      $address1 = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $address1);
      $address1 = substr($address1, 0, 38);            
      
      $address2 = $shipping_address['entry_suburb'];
      $address2 = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $address2);
      $address2 = substr($address2, 0, 38);

Par
Code
      // Filtrage
      //
      $firstname = $shipping_address['entry_firstname'];
      $firstname = utf8_encode($firstname);
      $firstname = substr($firstname, 0, 29);

      $lastname = $shipping_address['entry_lastname'];
      $lastname = utf8_encode($lastname);
      $lastname = substr($lastname, 0, 34);                  
      
      $company = $company = $shipping_address['entry_company'];
      $company = utf8_encode($company);
      $company = substr($company, 0, 38);  
      
      $address1 = $shipping_address['entry_street_address'];                  
      $address1 = utf8_encode ($address1);
      $address1 = substr($address1, 0, 38);            

      $address2 = $shipping_address['entry_suburb'];
      $address2 = utf8_encode($address2);
      $address2 = substr($address2, 0, 38);

et me dire ce qu'il se passe avec les accents ?

Écrit par : oneill 24 Apr 2011, 08:20

@henrik

Voici ma version personnelle de la gestion du téléphone.

J'utilise, en plus et depuis longtemps, le n° de fax dont, tout le monde se fout dans la création de compte, pour le n° de portable ou pour tout autre n° de téléphone, ce qui porte à 2 le nombre de téléphones déclarables. Mais je peux me retrouver avec tout et n'importe quoi sur les 2 champs d'où la nécessité de trier les données sur socolissimos.class.php.

Après

Code
       $shipping_address_query = tep_db_query("select ab.entry_firstname, ab.customers_id, ab.entry_lastname, ab.entry_gender, ab.entry_company, ab.entry_street_address, ab.entry_suburb, ab.entry_postcode, ab.entry_city, ab.entry_zone_id, z.zone_name, ab.entry_country_id, c.countries_id, c.countries_name, c.countries_iso_code_2, c.countries_iso_code_3, c.address_format_id, ab.entry_state from " . TABLE_ADDRESS_BOOK . " ab left join " . TABLE_ZONES . " z on (ab.entry_zone_id = z.zone_id) left join " . TABLE_COUNTRIES . " c on (ab.entry_country_id = c.countries_id) where ab.customers_id = '" . (int)$customer_id . "' and ab.address_book_id = '" . (int)$sendto . "'");
       $shipping_address = tep_db_fetch_array($shipping_address_query);
      }
j'ajoute
Code
    $fax_query = tep_db_query("select customers_fax from " . TABLE_CUSTOMERS . " where customers_id = '" . (int)$customer_id . "'");
    $fax = tep_db_fetch_array($fax_query);

Puis je remplace
Code
      $phone = $order->customer['telephone'];
      $phone = preg_replace('/[^\x30-\x39\x2B]/', '', $phone);
      $phone = sprintf('%010s', $tel);
      
      if ( ! (substr($phone, 0,2) == '06' || substr($phone, 0,2) == '07') )
        $phone = '';
par
Code
      $tel = $order->customer['telephone'];
      $tel = preg_replace('/[^\x30-\x39\x2B]/', '', $tel);
   if( substr($tel, 0,2) == '06' || substr($tel, 0,2) == '07' ) {
   $phone = sprintf('%010s', $tel);
   }else{
      $tel = preg_replace('/[^\x30-\x39\x2B]/', '', $fax['customers_fax']);
   if( substr($tel, 0,2) == '06' || substr($tel, 0,2) == '07' ) {  
   $phone = sprintf('%010s', $tel);
   }else{
   $phone = ''; }
   }


Si il y a un n° de portable sur l'un des 2 champs, il est transmis et le champs est prérempli sur la page sandwich. Si il n'a pas de portable, on demande au client d'en mettre un à la validation de cette même page sandwich.
Le fait de mettre un n° de portable bidon par défaut, n'obligera pas le client à en mettre un valable et le SMS qui le prévient, en théorie, de l'arrivée du colis sera transmis dans le vide interstellaire. Si ton client n'a pas de portable, soit il s'en paye un, soit il choisit un autre moyen de transport (ou il rentre lui-même un n° bidon mais, il ne vient pas se plaindre après si son colis est porté disparu). Sinon autant tout remplir par défaut pour les mecs qui n'ont pas d'ordi et envoyer un bon de commande papier comme au siècle dernier.

Écrit par : oneill 24 Apr 2011, 08:34

A la lecture du poste précédent (oui le mien !)

Je vois cette ligne dans la version en cours

Code
      $phone = sprintf('%010s', $tel);
!!!!!
Je ne sais pas pour vous mais je verrais plutôt
Code
      $phone = sprintf('%010s', $phone);
à la place... Ca va marcher beaucoup bien mieux.

Écrit par : saphir52 24 Apr 2011, 09:42

Tout d'abord merci pour cette proposition de modifs.

Je viens de la tester et donc les accents passent correctement pour les champs prénoms et adresse.

J'ai par contre toujours le souci au niveau du nom, voici l'erreur :

Warning: mail() [http://127.0.0.1/function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ..\includes\classes\email.php on line 520
Nous sommes désolé une erreur est survenue, vous pouvez contacter notre boutique en donnant le code erreur :7


Citation (oneill @ 24 Apr 2011, 07:59) *
Dans socolissimos.class.php pouvez-vous remplacer
Code
      // Filtrage
      //
      $firstname = $shipping_address['entry_firstname'];
      $firstname = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $firstname);
      $firstname = substr($firstname, 0, 29);
      
      $lastname = $shipping_address['entry_lastname'];
      $lastname = preg_replace('/\x00-\x1F\x21-\x2B]/', '', $lastname);
      $lastname = substr($lastname, 0, 34);                  
      
      $company = $company = $shipping_address['entry_company'];
      $company = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $company);
      $company = substr($company, 0, 38);  
      
      $address1 = $shipping_address['entry_street_address'];                  
      $address1 = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $address1);
      $address1 = substr($address1, 0, 38);            
      
      $address2 = $shipping_address['entry_suburb'];
      $address2 = preg_replace('/[\x00-\x1F\x21-\x2B]/', '', $address2);
      $address2 = substr($address2, 0, 38);

Par
Code
      // Filtrage
      //
      $firstname = $shipping_address['entry_firstname'];
      $firstname = utf8_encode($firstname);
      $firstname = substr($firstname, 0, 29);

      $lastname = $shipping_address['entry_lastname'];
      $lastname = utf8_encode($lastname);
      $lastname = substr($lastname, 0, 34);                  
      
      $company = $company = $shipping_address['entry_company'];
      $company = utf8_encode($company);
      $company = substr($company, 0, 38);  
      
      $address1 = $shipping_address['entry_street_address'];                  
      $address1 = utf8_encode ($address1);
      $address1 = substr($address1, 0, 38);            

      $address2 = $shipping_address['entry_suburb'];
      $address2 = utf8_encode($address2);
      $address2 = substr($address2, 0, 38);

et me dire ce qu'il se passe avec les accents ?

Écrit par : oneill 24 Apr 2011, 13:37

Euh, il n'y a malheureusement aucun rapport avec la choucroute ! shock.gif

Ma modif est supposée corriger les accents mais pas les soucis de phpini en local ou autre (sendmail ou smtp)

Écrit par : oneill 24 Apr 2011, 13:47

Pffff... J'avais pas vu le 7 à la fin
7, c'est une erreur de signature ca non ?

Ce n'est pas le but de la modif. On peut avoir une bonne signature avec des voyelles accentuées en vrac et réciproquement.


Sinon, comment sais tu que c'est le nom ? Donnes moi le nom ou ce qui apparait à la place.

Si le prénom et l'adresse passent pourquoi le nom ne passerait-il pas ? C'est des lettres de l'alphabet au même titre que le reste. Qu'est ce tu ajoutes de pourri au nom ?

Écrit par : saphir52 25 Apr 2011, 09:16

Je te rassure et te félicite car ta modif a quand même eu comme effet de corriger mon bug des acccents !

Seulement lorque je renseigne par exemple pour le NOM ET UNIQUEMENT pour le NOM : martin --> ça passe
lorque je renseigne par exemple pour le NOM ET UNIQUEMENT pour le NOM : martiné --> ça passe plus

Écrit par : oneill 25 Apr 2011, 10:38

Bon...

Seule solution que j'ai trouvé et testé : Mettre le nom en majuscules et sans accent.

Pour ce faire, ajoutez la fonction function TextNoAccent() quelque part dans general.php si vous en n'avez pas déjà une similaire (celle que je donne fonctionne et suffit)

Code
function TextNoAccent($Text){
Return (strtr($Text,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"
                   ,"AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"));
}

Ensuite, remplacer
Code
      $lastname = $shipping_address['entry_lastname'];
      $lastname = utf8_encode($lastname);
      $lastname = substr($lastname, 0, 34);
par
Code
      $lastname = $shipping_address['entry_lastname'];
      $lastname = strtoupper(TextNoAccent($lastname));
      $lastname = utf8_encode($lastname);
      $lastname = substr($lastname, 0, 34);

Ca devrait passer à la signature. Car c'est à la signature que ca coince et ne me demandez pas pourquoi mrgreen.gif


Si quelqu'un à mieux....

Écrit par : saphir52 25 Apr 2011, 12:54

Malheureusement ça ne passe pas !
Toujours le souci des caractères accentués uniquement dans le NOM

J'ai même mis en ligne la nouvelle contrib mais toujours erreur 7 !

Écrit par : telede 25 Apr 2011, 13:50

Citation (oneill @ 25 Apr 2011, 10:38) *
Ca devrait passer à la signature. Car c'est à la signature que ca coince et ne me demandez pas pourquoi mrgreen.gif


J'ai fait la meme chose : convertir en Majuscule, avec les fonctions du type de la tienne, on a parfois des problèmes lors des transfert de fichiers ou à l'édition selon les éditeurs, j'ai pour cela fait ceci :

Code
private function socoToUpper($str)
{
$text = mb_convert_encoding($str,'HTML-ENTITIES', CHARSET);
$text = preg_replace( array('/&szlig;/','/&(..)lig;/','/&([aouAOU])uml;/','/&(.)[^;]*;/'),array('ss',"$1","$1".'e',"$1"), $text);
return strtoupper($text);
}



Mais il doit y avoir une solution, moi je n'ai pas trouvé et j'ai le même problème avec une boutique FULL UTF-8 !


Écrit par : saphir52 25 Apr 2011, 15:04

Avec cette fontion telede, j'arrive à passer sur la page sandwich mais le champs Nom n'est pas renseigné.


Écrit par : oneill 25 Apr 2011, 16:59

Mettre en majuscule et aussi virer les voyelles accentuées. Un simple strtoupper ne suffit pas. Un mb_strtoupper me semblait mieux.

J'ai même tenté des essais aussi avec setlocale() sans succès.

Le solution plus haut fonctionne chez moi mais il est maintenant évident que cela varie d'un serveur à l'autre.

Il faudrait forcer un encodage qui convienne à tout le monde. L'encodage interne, si on le laisse, provoque des erreurs chez certains. Beau le faire en UTF-8, ca plante aussi mais, je ne peux le faire que chez moi, pas ailleurs... Pas facile pour tester.

Écrit par : telede 25 Apr 2011, 18:22

Citation (oneill @ 25 Apr 2011, 16:59) *
Mettre en majuscule et aussi virer les voyelles accentuées. Un simple strtoupper ne suffit pas. Un mb_strtoupper me semblait mieux.

La fonction en tient compte, et transforme les majuscules et minuscule en caractères non accentués ...

Selon certaines de mes sources, il y a plus de 200 boutiques qui fonctionnent sous osCommerce avec soColissimo Simplicité.

Donc, effectivement, l'environnement joue beaucoup...

Écrit par : oneill 25 Apr 2011, 18:40

Ne pouvant me fier qu'à mon propre environnement, je suis au bout de toute solution pour l'instant.

Écrit par : henrik 26 Apr 2011, 10:36

Bonjour,

Pour reprendre sur l'ajout d'un n° de tél portable dans la configuration de socolissimo (administration), l'intérêt n'est pas d'y mettre un n° bidon. Mais la boutique pourra de cette façon se procurer un n° de portable en tant que service supplémentaire pour les clients qui n'en ont pas, puis tenir le client au courant.
J'ai opté pour cette solution avec un client qui ne veut pas donner de choix sur les modules d'expédition, et qui ne voulait pas non plus que le n° de tél portable sois bloquante.

Je suis d'accord que l'intérêt n'est pas énorme, mais peut être utile dans certains cas.

Écrit par : oneill 2 May 2011, 13:46

Nouveauté chez SoColissimo (enfin, j'ai pas la tête dedans non plus)

Plus besoin de n° de portable pour les livraisons à Domicile. Je m'en suis rendu compte ce matin avec un Soco enregistré sans. Sur la page sandwich il y a un renvoi ** à la case portable qui dit :

Citation
** Le numéro de téléphone est obligatoire si vous choisissez les modes de livraison suivants : mon rendez-vous, mon cityssimo, mon bureau de poste, mon commerçant.


Donc du mieux !



Reste plus qu'à mettre Expeditor à jour pour qu'il ne demande pas le n° obligatoirement mrgreen.gif

Écrit par : henrik 4 May 2011, 10:40

Bonjour,

Je me suis rendu compte que l'enregistrement et l'affichage du nom "Libellé du point de retrait" (PRNAME) peut se répéter plusieurs fois si on revient plusieurs fois sur la page sandwich sans avoir confirmé la commande.
Dans le fichier modules/shipping/socolissimos.php :

Code
$company = $order->delivery['company'] ? sprintf('%s C/O %s', $order->delivery['company'], tep_db_prepare_input($_POST['PRNAME'])) : tep_db_prepare_input($_POST['PRNAME']);


Si $order->delivery['company'] est rempli (ce qui est le cas après un premier passage sur la page sandwich), alors $order->delivery['company'] devient : $order->delivery['company'] C/O $_POST['PRNAME'].
Et ainsi de suite. Chaque passage sur la page sandwich s'accumule.

J'ai remplacé
Code
$company = $order->delivery['company'] ? sprintf('%s C/O %s', $order->delivery['company'], tep_db_prepare_input($_POST['PRNAME'])) : tep_db_prepare_input($_POST['PRNAME']);

par
Code
$company = tep_db_prepare_input($order->delivery['company']);
$sendto_address = tep_db_prepare_input($_POST['PRNAME']);


puis
Code
      $_SESSION['sendto'] = array('firstname' => tep_db_prepare_input($_POST['CEFIRSTNAME']),
                                  'lastname' => tep_db_prepare_input($_POST['CENAME']),
                                  'company' => $company,
                                  'street_address' => $address1,
                                  'suburb' => $address2,
                                  'postcode' => $zip,
                                  'city' => $town,
                                  'zone_id' => $order->delivery['zone_id'],
                                  'zone_name' => $order->delivery['zone_name'],
                                  'country_id' => $order->delivery['country']['id'],
                                  'country_name' => $order->delivery['country']['title'],
                                  'country_iso_code_2' => $order->delivery['country']['iso_code_2'],
                                  'country_iso_code_3' => $order->delivery['country']['iso_code_3'],
                                  'address_format_id' => $order->delivery['country']['format_id'] > 0 ? $order->delivery['country']['format_id'] : '5');

par
Code
      $_SESSION['sendto'] = array('firstname' => tep_db_prepare_input($_POST['CEFIRSTNAME']),
                                  'lastname' => tep_db_prepare_input($_POST['CENAME']),
                                  'company' => $company,
                                  'sendto_address' => $sendto_address,
                                  'street_address' => $address1,
                                  'suburb' => $address2,
                                  'postcode' => $zip,
                                  'city' => $town,
                                  'zone_id' => $order->delivery['zone_id'],
                                  'zone_name' => $order->delivery['zone_name'],
                                  'country_id' => $order->delivery['country']['id'],
                                  'country_name' => $order->delivery['country']['title'],
                                  'country_iso_code_2' => $order->delivery['country']['iso_code_2'],
                                  'country_iso_code_3' => $order->delivery['country']['iso_code_3'],
                                  'address_format_id' => $order->delivery['country']['format_id'] > 0 ? $order->delivery['country']['format_id'] : '5');


Puis, dans le fichier "includes/classes/order.php" :
J'ai remplacé :
Code
        $shipping_address = array('entry_firstname' => $_SESSION['sendto']['firstname'],
                                  'entry_lastname' => $_SESSION['sendto']['lastname'],
                                  'entry_company' => $_SESSION['sendto']['company'],
                                  'entry_street_address' => $_SESSION['sendto']['street_address'],
                                  'entry_suburb' => $_SESSION['sendto']['suburb'],
                                  'entry_postcode' => $_SESSION['sendto']['postcode'],
                                  'entry_city' => $_SESSION['sendto']['city'],
                                  'entry_zone_id' => $_SESSION['sendto']['zone_id'],
                                  'zone_name' => $_SESSION['sendto']['zone_name'],
                                  'entry_country_id' => $_SESSION['sendto']['country_id'],
                                  'countries_id' => $_SESSION['sendto']['country_id'],
                                  'countries_name' => $_SESSION['sendto']['country_name'],
                                  'countries_iso_code_2' => $_SESSION['sendto']['country_iso_code_2'],
                                  'countries_iso_code_3' => $_SESSION['sendto']['country_iso_code_3'],
                                  'address_format_id' => $_SESSION['sendto']['address_format_id'],
                                  'entry_state' => $_SESSION['sendto']['zone_name']);

par
Code
        $shipping_address = array('entry_firstname' => $_SESSION['sendto']['firstname'],
                                  'entry_lastname' => $_SESSION['sendto']['lastname'],
                                  'entry_company' => $_SESSION['sendto']['company'],
                                  'sendto_address' => $_SESSION['sendto']['sendto_address'],
                                  'entry_street_address' => $_SESSION['sendto']['street_address'],
                                  'entry_suburb' => $_SESSION['sendto']['suburb'],
                                  'entry_postcode' => $_SESSION['sendto']['postcode'],
                                  'entry_city' => $_SESSION['sendto']['city'],
                                  'entry_zone_id' => $_SESSION['sendto']['zone_id'],
                                  'zone_name' => $_SESSION['sendto']['zone_name'],
                                  'entry_country_id' => $_SESSION['sendto']['country_id'],
                                  'countries_id' => $_SESSION['sendto']['country_id'],
                                  'countries_name' => $_SESSION['sendto']['country_name'],
                                  'countries_iso_code_2' => $_SESSION['sendto']['country_iso_code_2'],
                                  'countries_iso_code_3' => $_SESSION['sendto']['country_iso_code_3'],
                                  'address_format_id' => $_SESSION['sendto']['address_format_id'],
                                  'entry_state' => $_SESSION['sendto']['zone_name']);

et j'ai ajouté
'sendto_address' => $shipping_address['sendto_address'],
dans le delivery array un peu plus bas.

Et finalement, dans le fichier includes/functions/general.php, j'ai ajouté dans la fonction "tep_address_format" :
Code
if (isset($address['sendto_address'])) $streets = tep_output_string_protected($address['sendto_address']) . $cr . $streets;

après les lignes
Code
    $statecomma = '';
    $streets = $street;
    if ($suburb != '') $streets = $street . $cr . $suburb;


Pour l'enregistrement dans la base de données, j'ai gardé l'idée d'enregistrement à la suite du nom de la compagnie, donc j'ai ajouté dans le fichier checkout_process.php, dans le array qui est ensuite enregistré dans la table TABLE_ORDERS :
Code
'delivery_company' => $order->delivery['company'] . ($order->delivery['company'] && $order->delivery['sendto_address'] ? ' C/O ' . $order->delivery['sendto_address'] : $order->delivery['sendto_address']),


Écrit par : saphir52 9 May 2011, 08:31

Je pense avoir enfin résolu mes problèmes d'accents mais je rencontre un nouveau problème.

Lorsque j'arrive sur la page sandwich SoColissimo, tout les champs sont bien renseignés mais je ne peux pas valider l'adresse et/ou avoir le choix d'une autre adresse de livraison (dépôt).

Avez-vous une idée ? Merci


RESOLU RESOLU RESOLU

j'ai désactivé la ligne trFirstOrder sans socolissimo.class.php :

//$fields .= '<input type="hidden" name="trFirstOrder" value="' . $relais . '" />';
//$fields .= "\n" ;


merci la hotline LaPoste

Écrit par : computer 24 May 2011, 22:05

Je reste toujours bloqué sur la page checkout_shipping lors de la validation de la méthode de livraison socolissmo... Je rencontre ce problème depuis le début et quelque soit la version de la contribution (je suis actuellement sous la 1.5). Auriez vous une idée d'ou ce problème vraiment récurrent peut t'il bien venir?

Écrit par : jordan 26 May 2011, 11:37

Toujours le même problème pour moi aussi...

Écrit par : CkH 26 May 2011, 13:47


Et moi aussi wink.gif le même problème que "computer", et ce depuis le début
J'ai aussi testé toutes versions de la contribution sans résultat.

Mais qu'est ce qu'on aurait en commun qui fou le brin sur ce module, une contrib ?





Écrit par : naé 26 May 2011, 22:42

Bonjour,

Je rencontre aussi le même problème que Computer. Je suis le forum de très près depuis un mois.

Oneil, tu parlais d'une différence entre "ça ne bouge pas" ou "ça recharge la même page". Eh bien moi j'ai les deux!
Si j'active le mode d'expé "frais d'envoi", alors pour socolissimo la page ne bouge pas, et pour frais d'envoi ça fonctionne normalement.
Si je n'active que socolissimo comme méthode d'expé, alors pour socolissimo cela recharge la page.

Je n'appelle pas d'autre jquery, j'ai un script google analytics, rien d'autre de spé. Je suis en MS2, j'ai modifié le htaccess pour php5 chez ovh, j'ai fait 2 updates de 2005 et 2006 + mise à jour RC1 + mise à jour RC2 mais ça ne change rien.
Par contre j'ai un tracking des colissimos dans l'admin mais ça ne change rien pour le client, c'est le vendeur qui peut tout simplement ajouter l'adresse de suivi et tenir au courant le client. Je ne pense pas que ce soit ça.

Je vais tester sur une boutique vierge en attendant.

Écrit par : naé 26 May 2011, 23:40

Donc sur une installation toute propre d'OSC 2.3.1, j'obtiens l'erreur:2, ce qui me paraît parfait sachant que je n'ai pas encore les clés marchand.
ça ne m'avance pas tellement, à part de savoir que je sais suivre des consignes d'installation correctement
...

Écrit par : naé 27 May 2011, 02:35

Ayéé!

J'ai peut-être trouvé ce que nous avons en commun qui gêne, c'est la redirection seo.
J'avais un htaccess avec cette ligne:RewriteRule ^.+/([a-z_]+.php.*)$ $1 [L]
J'ai remplacé par cette ligne: RewriteRule ^.+/([a-z_]+.php.js.*)$ $1 [L]
Autrement dit, rajouté le .js
Et c'est tout. J'arrive bien sur l'erreur 2. J'espère que ça veut bien dire qu'avec les clés marchand ça fonctionnera.
Pouvez-vous me dire si c'est ok de faire ce changement, si c'est normal, sécurisé, enfin si ça ne pose pas pb?

(Je suis cependant obligée de garder 1 autre mode d'expé activé, car le socolissimo seul continue de recharger la page).

Edit
en fait, ça ne rajoute pas le rewrite sur les js comme je pensais.
simplement comme ce n'est pas correct, ça ne prenais plus en compte ma ligne de rewrite.
et du coup ça met en l'air tout le site.
mais l'erreur est quand-même par là puisque sans cette ligne tout fonctionne
RewriteRule ^.+/([a-z_]+.php.*)$ $1 [L]

J'ai essayé ce genre de ligne supplémentaire mais ça ne donne rien
RewriteRule \.(css|js|jpg|jpeg|png|gif|ico)$ - [L]
qqn a une idée?

Écrit par : naé 10 Jun 2011, 17:55

Bonjour,
Encore moi! Plus personne ne suit ce sujet?
Bon c'était juste pour dire que j'ai reçu les codes marchand donc j'ai pu tester jusqu'au bout la contribution.

Oneil, merci j'ai utilisé tes changements pour ne pas avoir de pb d'accents sur la page sandwich
Oneil encore, merci j'ai aussi utilisé tes modifs pour le téléphone/fax mais la correction que tu donnes juste derrière n'est pas bonne
(à savoir: $phone = sprintf('%010s', $phone); non, c'est bien les données de $tel qu'on veut envoyer vers $phone si elles contiennent un 06)
Henrik aussi merci, j'ai fait tous tes changements pour éviter la redite de la company dans les récap d'adresse, j'ai adapté un peu car mes fichiers étaient un peu différents, par ex input et pas prepare_input.
Et donc pour finir avec mon pb de page qui bloque ou se recharge, j'ai tout simplement updaté avec une autre contrib de SEO/rewrite qui utilise un code différent dans le htaccess.

Je n'ai plus qu'un souci, je n'arrive pas à prendre en compte la tare de l'emballage de la config générale de la boutique donc mes autres méthodes de livraison n'affichent pas le même poids puisqu'elles la prennent bien en compte.

Et bien sûr merci et bravo Telede et okom3pom

Écrit par : computer 13 Jun 2011, 22:27

Citation
Et moi aussi le même problème que "computer", et ce depuis le début
J'ai aussi testé toutes versions de la contribution sans résultat.

Mais qu'est ce qu'on aurait en commun qui fou le brin sur ce module, une contrib ?




J'ai en commun avec toi : Ultimate SEO URLs - Header Tags SEO - Credit Class & Gift Voucher - TotalOrder - ATOS
Il serait intéressant de voir ce que les autres ont en communs avec nous.

Écrit par : CkH 14 Jun 2011, 15:26


Je confirme j'ai aussi en commun avec vous :

Ultimate SEO URLs - Header Tags SEO - Credit Class & Gift Voucher - TotalOrder - ATOS

@++

Écrit par : telede 15 Jun 2011, 01:07

@Naé, Computer, Chk

Citation (CkH @ 14 Jun 2011, 15:26) *
Je confirme j'ai aussi en commun avec vous :

Ultimate SEO URLs - Header Tags SEO - Credit Class & Gift Voucher - TotalOrder - ATOS


Si l'un d'entre vous m'envoie par MP l'url de son site, a Skype pour communiquer, je m'engage a regarder cela Samedi. wink.gif

Écrit par : naé 16 Jun 2011, 20:46

Merci mais pour moi c'est résolu en mettant Ultimate_Seo_Urls_5_PRO_r205_1 à la place de l'autre extension SEO (que je n'avais pas intégrée moi-même donc je ne sais pas ce que c'était).

Écrit par : Masaï 21 Jun 2011, 21:40

Bonjour

Ca fait longtemps que j'avais pas eu de soucis pour intégrer quelque chose mais là je bloque comme les autres...

Bloquée sur checkout_shipping, la page se recharge sans jamais afficher la page sandwich...
J'ai les codes d'identifications de ColiPoste... hébergée chez Icodia, vieille version d'OSC (en Creaload SP1.4)

J'ai tout vérifié ht.access, autre java script, rien n'y fait, je désespère =(
Je continue à chercher...

Écrit par : chandlerleouf 5 Jul 2011, 15:56

J'ai les même soucis que tous ...
la page se recharge continuellement.

Pouvez-vous m'expliquer comment c'est censé marcher ?
Je comprends que les différentes propositions s'affichent, si le client appuie sur la ligne "So collisimo", la page sandwich s'ouvre, le client renseigne son lieu de livraison et retourne sur la page du site au niveau du choix de paiement ?

=> En tout cas, j'ai virer tous mes .htaccess sans succès, les symptômes sont les même.

Écrit par : computer 6 Jul 2011, 00:33

Citation
Merci mais pour moi c'est résolu en mettant Ultimate_Seo_Urls_5_PRO_r205_1 à la place de l'autre extension SEO (que je n'avais pas intégrée moi-même donc je ne sais pas ce que c'était).


Je tournais déjà avec cette version, je viens de la résinstaller au cas ou mais malheureusement je rencontre toujours le même soucis.

Écrit par : MarcelPiano 11 Jul 2011, 11:18

Bonjour à tous, et merci pour cette belle contrib'...

Juste une petite précision ???

Sur la page sandwich, lorsque le client choisit de se faire livrer "à l'adresse saisie" => 3 champs s'activent (Code porte, Code porte 2 et Autres instructions de livraison)

Ma question : Ces 3 champs sont-ils récupérés quelque part ? (Et le numéro de portable qui est obligatoire pour les livraisons "Hors domicile" ?)

Merci d'avance pour la précision...

Petite question subsidiaire smile.gif :
- Comment gérer vous les livraisons DOM-TOM maintenant ? Vous le gérez avec les "zones de taxation" ??

Merci à tous.
Tony

Écrit par : tidi 12 Jul 2011, 07:43

Salut à tous,

Comme les petits copains, même soucis avec checkout-shipping où rien ne se passe.

J'ai également ultimate seo, header tags.

Dans le Htaccess je n'ai pas RewriteRule ^.+/([a-z_]+.php.*)$ $1 [L] donc pas pu tester la modif de naé.

Je reviens vers vous si je trouve.

Écrit par : MarcelPiano 12 Jul 2011, 10:00

Pour ceux qui sont bloqués sur 'checkout_shipping' :

Essayer ça :

- Désactiver le module 'So'
- Faîtes un reset du cache via votre SEO
- Ré-installer le module 'So' sans changer 'la politique tarifaire' (laissez 'Poids") et laissez aussi 'les prix du transport' par défaut.

- Et voyez si ça fonctionne...

Je pense qu'il y a un petit problème avec la 'politique tarifaire' par 'cout du panier'...

A suivre...

NB : Si quelqu'un a une réponse à ma question 2 posts plus haut, je suis preneur. wink.gif

Écrit par : telede 12 Jul 2011, 13:35

Citation (MarcelPiano @ 12 Jul 2011, 10:00) *
NB : Si quelqu'un a une réponse à ma question 2 posts plus haut, je suis preneur. wink.gif

C'est dans le $_POST mais ce n'est pas traité dans la version actuelle, c'est un manque...

Ce manque résulte de la volonté de ne pas toucher au "core" osCommerce dans la version d'origine du module et de laisser cette tache à l'intégrateur.

email  CEEMAIL
mobile CEPHONENUMBER
code1 CEDOORCODE1
code2 CEDOORCODE2
interphone CEENTRYPHONE



Écrit par : MarcelPiano 12 Jul 2011, 15:43

Merci telede...

Petite info, stoplé biggrin.gif

Pour l'ajout de ces différents champs, ça se passe bien dans la fonction 'checkout' de 'includes\modules\shipping\SoCo.php' ???

Merci

Écrit par : telede 12 Jul 2011, 16:29

Oui tout à fait,

après il faut faire une pirouette avec la variable globale $shipping pour enregistrer le cocktail dans checkout_process.php

wink.gif

Écrit par : chandlerleouf 21 Jul 2011, 12:52

Bonjour,

Ayant toujours un problème sur la page "checkout_shipping.php", je voudrais savoir si une ame serviable pourrait m'indiquer un site sur laquelle la solution tourne pour que je puisse analyser le code.

Sur le mien, j'ai le logo Socollisimo qui apparait avec un prix (je ne sais pas d’où il vient ...) et je ne peux rien faire pour accéder à la page Sandwich.
Le code de ma page est :

Code
  <td class="main"><b><input type="hidden" value="./ext/modules/shipping/socolissimos/socolissimos.php" id="sosModule" />SoColissimo</b>&nbsp;</b>&nbsp;<img src="ext/modules/shipping/socolissimos/images/socolissimo-big.png" border="0" alt="SoColissimo" title=" SoColissimo " width="615" height="44">
  </td>
  <td width="10"><img src="images/pixel_trans.gif" border="0" alt="" width="10" height="15"></td>
</tr>
<tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, 6)">
  <td width="10"><img src="images/pixel_trans.gif" border="0" alt="" width="10" height="15"></td>
  <td class="main" width="75%">SoColissimo Simplicite (1.21 Kg)</td>
  <td class="main">5.66€</td>
  <td class="main" align="right"><input type="radio" name="shipping" value="socolissimos_socolissimos" CHECKED></td>
  <td width="10"><img src="images/pixel_trans.gif" border="0" alt="" width="10" height="1"></td>
</tr>


Merci par avance.

Écrit par : telede 21 Jul 2011, 17:55

Citation (chandlerleouf @ 21 Jul 2011, 12:52) *
Ayant toujours un problème sur la page "checkout_shipping.php", je voudrais savoir si une ame serviable pourrait m'indiquer un site sur laquelle la solution tourne pour que je puisse analyser le code.

Il y a 3 mois, plus de 200 sites sous osCommerce fonctionnaient avec cette contribution sur 1200 contrats So Colissimo simplicité effectifs. Ce qui est énorme pour osC vu le peu de trafic qu'il engendre.

Le problème, c'est que les 200 ne viennent pas le dire ici !

Le problème aussi, c'est que parmi tous ces sites, chacun avait forcément sa spécificité.

Mon taux de transformation en versions plus évoluées a été de 0.01%.

Le seul a été finalement un mondial relay, on sait pourquoi : je reste un spécialiste des modules d'expedition et de paiement.

Pour connaitre toutes les solutions relatives il suffit de chercher les mots clé des offres So Colissimo sur Google

smile.gif




Écrit par : Phocea 18 Aug 2011, 17:30

Petite remontée de bug avec un problème quand la TVA doit être calculé dans le module de livraison:

Dans ext/modules/shipping/socolissimos/socolissimos.class.php
rajouter

Code
$cost = tep_add_tax($cost, $tax);

sous
Code
$cost = $quotes['0']['methods']['0']['cost'] ? $quotes['0']['methods']['0']['cost'] : 0;


Sinon le prix sera passé et affiché HT. J'ai pas vu de champ taxe dans la doc socolissimo. Le prix HT me retourné en plus une erreur 12 Froamt des frais d'éxpédition incorrect (5.7515 aurait pourtant du passer mais bon...)

Écrit par : sanjb 21 Sep 2011, 10:13

Bonjour à tous et a toutes.
j'ai un souci avec le Module SoColissimo Simplicité.
Il marche très bien sauf quand j'ai le franco de port qui est atteint. Pas le franco de port du module SoColissimo, mais le franco de port de ot_shipping.
J'ai bien le texte
"Expédition gratuite
Expédition gratuite pour les commandes supérieures à 40.00 €" avec plus aucun choix de transport mais quand je clique sur continuer, la page ne se charge pas. Je reste sur checkout_shipping.php avec en bas 'chargement'. Alors que si je n'atteins pas le franco de port, le module SC Simplicité marche nickel!
Merci aux développeurs, soit dit en passant!
J'ai parcouru les 11 pages de ce post mais je n'ai pas vu quelle était la solution.
Merci pour votre aide!

Écrit par : sunsetseb 22 Sep 2011, 08:58

Bonjour

J'ai installé So Colissimo et j'arrive là :

http://imageshack.us/photo/my-images/809/socoliss.jpg/

Si je selectionne Socolissimo et "suivant" je reviens à cette page...
je n'ai aucun page sandwitch qui s'affiche

Qq'un a une idée ?

D'avance Merci

Sunsetseb


#####

J'ai trouvé : le socolissimo.js se chargeait APRES le Jquery !!!

Écrit par : operceval 29 Sep 2011, 10:49

Bonjour,

je me permet une remarque !

dans socolissimos.php

ligne 291

ne serait il pas mieux de remplacer

'cost' => $quotes['methods'][0]['cost'],

par

'cost' => tep_db_input($_POST['DYFORWARDINGCHARGES']),

?

Écrit par : artiz 15 Oct 2011, 23:57

Bonjour à tous, et encore merci à Telede pour cette contrib.

@Phocea, j'ai fait la meme modif.

Par contre, ayant aussi fait une modif similaire à celle de operceval (proposée par http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=67304&view=findpost&p=351762), il faut remettre les frais de ports récupéré de la poste en HT, donc changer :

CODE
if ($this->tax_class > 0)
$this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);


par :

CODE
if ($this->tax_class > 0)
{
$this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
$shipping['cost'] = $shipping['cost'] / (1+($this->quotes['tax']/100));
}


C'est pas parfait au niveau de la gestion des arrondis, mais ca le fait tout de meme. (c'est pas comme si les frais de ports étaient en millions)
Pour aller plus loin, on peut aussi vérifier que les frais de ports n'ont pas diminués... wink.gif

Écrit par : operceval 19 Oct 2011, 18:38

bien ok, mais le calcul de TVA est t il bon sur le recap de paiement ? il ne prend pas en compte la TVA sur socolissimo j ai l impression. tongue.gif ha cette tva

Classe de Taxe bien sur 19.6 pourtant

produit 19.60% 31,79€

Sous-Total HT: 26,58€
Sous-Total: 31,79€
SoColissimo Page Sandwich: 6,00€
TVA: 5,21€ erreur
Montant total TTC à régler: 37,79€

Écrit par : operceval 20 Oct 2011, 20:44

bon alors c est $order->delivery['country']['id'] qui ne reçoit pas le code pays dans le ot_shipping , l adaptation entre osCommerce 2.2 RC2 et l ancienne reste pas simple si l upgrade n est pas faite a priori.

pas le temps de débuggé j ai palié avec $shipping dans le fichier comme c est que pour la france

Écrit par : sunsetseb 17 Nov 2011, 17:47

Bonjour


Juste apres le choix de So colissimo, je fais suivant.. je vois rapidement l'url de colissimo rapidement dans la barre puis je retourne sur mon site avec cette erreur

Nous sommes désolé une erreur est survenue, vous pouvez contacter notre boutique en donnant le code erreur :7

Il y a un moyen de savoir ce qui bloque ? Quelqu'un a t-il eu le meme probleme ?

Merci pour vos pistes


Seb


Écrit par : Huroman 25 Nov 2011, 18:12

Bonjour à tous, j'ai le même soucis que les autres, je suis bloqué en ...checkout_shipping.php

J'utilise:
osCommerce 2.3.1
SoColissimos 1.5

et je ne trouve pas le <head> dedans la page de checkout_shipping.php mais j'ai ajouté, quand meme, le:

Code
<script type="text/javascript" src="ext/modules/shipping/socolissimos/socolissimos.js"></script>


le jQuery est déjà mis dans template_top.php

Merci en avance à tous.

Écrit par : max44 6 Dec 2011, 10:33

Bonjour,

Je viens d'installer la contribution so colissimo simplicité v1.5 et je suis confronté à un problème que je n'ai pas vu sur ce fil.
je m'explique mon module est bien paramétrer d'après la poste( ils ont effectué des tests et sa fonctionne chez eux) mais moi lorsque je fais mes tests je bloque sur le checkout_shipping !

Il me dis: "Nous sommes désolé une erreur est survenue, vous pouvez contacter notre boutique en donnant le code erreur :8"

il me dis que cela vient des codes postaux, hors il est vrai que lorsque je sélectionne un code postal de la France métropolitaine du style 85650, le module n'apparait pas! alors que quand je modifie le code postal et que j'en mets un des dom-tom, la il apparait !. donc en suite je poursuit , je cliques sur continuer et la ile me mets ce message.

Est-ce une mauvaise configuration des Zones ?
J'ai parcouru un tas de fils traitants so colissimo sur ce forum mais rien sur les codes postaux quelqu'un aurait-il eu ce problème ?

Cordialement
Max44

Écrit par : sunsetseb 7 Dec 2011, 16:33

Bonsoir

2 points :
____________________

#1

Concernant le code erreur 12 :

si je vais en dur vers la ligne 180

Code
$fields .= '<input type="hidden" name="dyForwardingCharges" value="' . $cost . '" />';


et que je rajoute en dur juste avant :
Code
$cost=10;


je passe cette erreur.. probleme de passage de parametre.. j'ai par securité mis le register_globals en on .. Mais c'est pareil.. une piste ???


___________________

#2

Pour le 2eme point.. en mettant en dur la variable $cost, je passe donc cette erreur, par contre, du coup.. j'ai une erreur 7 :
qui corresponde à "Signature ou numero de version invalide"
Et là malheureusment, je ne sais pas de quoi il s'agit.. une piste ?

Merci de votre aide

Sébastien

Écrit par : max44 4 Jan 2012, 08:56

Bonjour a tous amis osciens et bonne année 2012 !

Donc pour mon problème j'ai comme qui dirait trouver peut être un début de piste.

En fait en commentant les 3 lignes de filtrage dans le fichier socolissimo.clas.php, l'accès à la page sandwich se fait bien mais pas de code postal réécris sur celle-ci.

Après pour ce qui est des dom-tom et de la France métropolitaine, toujours aucune améliorations, j'ai essayé de modifié les code iso, de changer dans le fichier socolissimo.php cette ligne: $SoColissimos = new so_colissimos('FR', 0 ); ligne 64, mais rien ne change.

J'ai également essayé de modifier directement dans le fichier: catalog/includes/modules/shipping/socolissimo.php cette zone la mais rien ne change non plus !:


// Hors France on désactive
//

if (($dest_country != 'FR') && ($dest_country != 'FX') )
{
$this->enabled = false;
return(false) ;
}


Au passage je précise aussi que j'ai comme code iso pour les dom tom: DT et pour la France métropolitaine: FX.
Si quelqu'un sait ou à une idée de mon chmilblic, je suis prenneur !

Bonne journée à tous,
Max44 cool.gif

Écrit par : momoxygene 4 Jan 2012, 16:34

Bonjour à tous,

Bon je suis dans le même cas que pas mal de personne ici, soit je reste sur la page checkout_shipping!
J'ai bien lu les 11 pages et plusieurs fois mais je bloque vraiment wacko.gif
J'ai revue le fichier d'install et tout repasser plusieurs fois mais en vain...

J'ai pas de mal de contributions installer mais sur un osc 2.3 neuf et toute les autres contributions fonctionne.
J'ai donc récupérer ce code en utilisant la solution de telede avec cette url http://xxxxxxxxx/catalog/ext/modules/shipping/socolissimos/socolissimos.php

Code
<div style="display:none"><form name="formpudocall" action="http://ws.colissimo.fr/pudo-fo/storeCall.do?trReturnUrlKo=http://xxxxxxxxxxx/catalog/checkout_shipping.php" method="post"><input type="hidden" name="pudoFOId" value="01234567890123" />
<input type="hidden" name="ceCivility" value="MR" />
<input type="hidden" name="ceName" value="MORLON" />
<input type="hidden" name="ceFirstName" value="Amaury" />
<input type="hidden" name="ceAdress3" value="25 rue de la tour qui tousse" />
<input type="hidden" name="ceZipCode" value="10000" />
<input type="hidden" name="ceTown" value="TOPLEXIL" />
<input type="hidden" name="ceEmail" value="momoxygene@xxxx.xx" />
<input type="hidden" name="cePhoneNumber" value="" />
<input type="hidden" name="dyWeight" value="2500" />
<input type="hidden" name="dyPreparationTime" value="1" /><input type="hidden" name="dyForwardingCharges" value="15.00" />
<input type="hidden" name="trClientNumber" value="2" />
<input type="hidden" name="trFirstOrder" value="0" />
<input type="hidden" name="orderId" value="041619092" />
<input type="hidden" name="signature" value="2fc193af5d938c4028f450f4d97b17830641c961" />
<input type="hidden" name="trReturnUrlOk" value=http://xxxxxxxxxxxx/catalog/checkout_shipping.php />
</form>

</div>
<script type="text/javascript">
$(document).ready(function() {

    $('form[name=formpudocall]').submit();
});
</script>


Je trouve qu'il y a pas mal de différence comparer à d'autre résultats vue sur ce forum! mais je doute que se soit ça qui fasse que je reste bloquer sur checkout_shipping.
Mon numéro de téléphone est bien renseigné à l'inscription mais il ne ressort pas ici!
De plus je ne comprends pas pourquoi j'ai cette ligne http://ws.colissimo.fr/pudo-fo/storeCall.do?trReturnUrlKo

Si quelqu'un à une piste ou un conseil je suis preneur, merci d'avance.

@telede: je t’ai envoyé un MP suite à un message d'erreur en envoyant un mail suer le mail de support du fichier install.

Écrit par : Kaelandesign 19 Jan 2012, 16:57

Bonjour à tous !

Même problème que sunsetseb !!

J'obtient l'erreur :

"Nous sommes désolé une erreur est survenue, vous pouvez contacter notre boutique en donnant le code erreur :7"

Et par e-mail :

Erreur : 7 : Signature ou numéro de version invalide

Quelqu'un aurait une idée ?! huh.gif

Par avançe merci !


Écrit par : orbitalia 1 Feb 2012, 22:29

Bonjour Momoxygene,

As tu trouvé une solution à ton problème ?
Je viens de faire l'installation et tout pareil sad.gif

Merci pour ta réponse.




Citation (momoxygene @ 4 Jan 2012, 16:34) *
Bonjour à tous,

Bon je suis dans le même cas que pas mal de personne ici, soit je reste sur la page checkout_shipping!
J'ai bien lu les 11 pages et plusieurs fois mais je bloque vraiment wacko.gif
J'ai revue le fichier d'install et tout repasser plusieurs fois mais en vain...

J'ai pas de mal de contributions installer mais sur un osc 2.3 neuf et toute les autres contributions fonctionne.
J'ai donc récupérer ce code en utilisant la solution de telede avec cette url http://xxxxxxxxx/catalog/ext/modules/shipping/socolissimos/socolissimos.php

Code
<div style="display:none"><form name="formpudocall" action="http://ws.colissimo.fr/pudo-fo/storeCall.do?trReturnUrlKo=http://xxxxxxxxxxx/catalog/checkout_shipping.php" method="post"><input type="hidden" name="pudoFOId" value="01234567890123" />
<input type="hidden" name="ceCivility" value="MR" />
<input type="hidden" name="ceName" value="MORLON" />
<input type="hidden" name="ceFirstName" value="Amaury" />
<input type="hidden" name="ceAdress3" value="25 rue de la tour qui tousse" />
<input type="hidden" name="ceZipCode" value="10000" />
<input type="hidden" name="ceTown" value="TOPLEXIL" />
<input type="hidden" name="ceEmail" value="momoxygene@xxxx.xx" />
<input type="hidden" name="cePhoneNumber" value="" />
<input type="hidden" name="dyWeight" value="2500" />
<input type="hidden" name="dyPreparationTime" value="1" /><input type="hidden" name="dyForwardingCharges" value="15.00" />
<input type="hidden" name="trClientNumber" value="2" />
<input type="hidden" name="trFirstOrder" value="0" />
<input type="hidden" name="orderId" value="041619092" />
<input type="hidden" name="signature" value="2fc193af5d938c4028f450f4d97b17830641c961" />
<input type="hidden" name="trReturnUrlOk" value=http://xxxxxxxxxxxx/catalog/checkout_shipping.php />
</form>

</div>
<script type="text/javascript">
$(document).ready(function() {

     $('form[name=formpudocall]').submit();
});
</script>


Je trouve qu'il y a pas mal de différence comparer à d'autre résultats vue sur ce forum! mais je doute que se soit ça qui fasse que je reste bloquer sur checkout_shipping.
Mon numéro de téléphone est bien renseigné à l'inscription mais il ne ressort pas ici!
De plus je ne comprends pas pourquoi j'ai cette ligne http://ws.colissimo.fr/pudo-fo/storeCall.do?trReturnUrlKo

Si quelqu'un à une piste ou un conseil je suis preneur, merci d'avance.

@telede: je t'ai envoyé un MP suite à un message d'erreur en envoyant un mail suer le mail de support du fichier install.

Écrit par : telede 22 Feb 2012, 13:31

Hello smile.gif

Voici mes nouvelles de So Colissimo Simplicité qui s'annonce dans sa version 2 :

http://blog.common-services.com/coliposte-so-colissimo-simplicite-v2/

La version 1 n'était déjà pas top mais la version 2 me parait peu adaptée à osCommerce ; afficher une fenêtre de 600x1000 pixels sur un CMS adapté à des moniteurs de 2001 et en + en 3 étapes ... sad.gif

J'ai largement remarqué l'engouement des utilisateurs de Magento pour One Step Checkout de telle sorte qu'il a fallut que je porte mon module Liberté ! Sur un CMS moderne tel que celui ci, le résultat est très intéressant.

Mais pourtant osC reste le CMS le plus performant. Ce serait même prendre un bien grand risque de vouloir migrer vu la qualité de son référencement au terme de quelques exercices !

Malheureusement pour la majorité des utilisateurs d'osCommerce, investir dans des outils innovants améliorant la transformation n'est pas forcément à leur portée...

wink.gif

Écrit par : orbitalia 25 Feb 2012, 22:34

Je viens d'installer une boutique toute fraiche en version 2.3 et toujours le problème de checkout_shipping. Je reste sur cette page. Rien y fait ça marche pas. Dans la doc, il y a un problème pour la version 2.3. Il n'y a pas de head dans checkout_shipping.php. J'ai donc mis avec les autres scripts de la boutique 2.3 mais rien y fait ...


Je vais essayer en 2.2 RC2a.

Qu'elle galère ...

Si quelqu'un à une idée, merci pour votre aide.

Écrit par : mickael34 27 Feb 2012, 14:55

Bonjour,

Je m'adresse à tous ceux qui ont la contrib orders_check d'installée (la contrib qui pré-enregistre les commandes en cas de commandes perdues).

Si une commande est "perdue" et que le mode de livraison est socolissimo, les infos suivantes ne sont pas remontées :
'shipping_method'
'shipping_code'
'shipping_mode'

J'ai ajouter les entrées dans la table holding_orders, fait les même modifs dans admin/orders_check que dans admin/orders mais rien !
Si une commande est "perdue" l'adresse de livraison est bien celle choisie dans la page socolissimo mais les infos sur shipping_method, shipping_code et shipping_mode ne sont pas enregistrées.
Ces infos sont nécessaires pour l'export vers expeditor.

Si l'un d'entre vous est dans le même cas que moi et qu'il a solutionné ce pb, je suis preneur smile.gif

D'avance merci pour votre aide.

Écrit par : mickael34 2 Mar 2012, 09:56

Bon j'avance sur mon pb mais toujours rien.

Je reprend au cas où une ame charitable qui passe puisse m'aider.

Pour Expeditor, si un client choisi de se faire livrer en point relais, il faut absolument (selon leur service technique) que le code du point relais soit importé.
Hors ce code n'est pas récupéré si un client passe commande sans passer par checkout_process (commande perdue).

Il faut donc que orders_check me récupère le "shipping_code" de la contrib socolissimo.

Ce que j'ai fait :
- J'ai ajouter les champs qu'on ajoute dans la table orders dans la table holding_orders.
- J'ai fait les même modifications qui doivent être faites dans les fichiers orders dans tous les fichiers orders_check et ordercheck_functions.php

Mais toujours rien.
Orders_check ne me récupère pas les infos de la contrib socolissimo.

Si quelqu'un à réussi à faire foinctionner socolissimo et order_check ensemble...

huh.gif

Écrit par : max44 22 Mar 2012, 14:07

Bonjour,

J'ai en partie résolu mon problème,
J'ai réinstaller socolissimo simplicité maintenant mon module s'affiche correctement, mais j'ai encore quelque soucis au niveau du prix du panier et des frais de port.
Je m'explique: j'offre les frais de port à partir de 50€ d'achat , si je commande un article inférieur à ce prix, le module apparait bien avec une somme de frais de port, en revanche, et c'est la le hic, si je mets 2 articles dans mon panier et que celui ci dépasse 50€ alors la le module disparait. (je précise aussi que je n'est aucun poids renseigné sur mes articles)
J'ai également 2 module d'expéditions d'activé (ceux de base d’ oscommerce) en plus de socolissimo: les frais de port, et les frais en fonction de la zone.

Je me demande si 1 de ces 2 modules bloquerais avec socolissimo ?

De plus lorsque je choisis un point de retrait quand je confirme sur ma confirmation de commande après avoir validé le paiement le nom du point de retrait choisi n'apparait pas ? blink.gif
il me mets le nom de la personne et son prénom puis l'adresse du point retrait ?
Faut-il que je rajoute un champ sur le invoice.php ou dans socolissimo.class.php ?

Cordialement
Max44 cool.gif

Écrit par : Bertrand OSC 3 Apr 2012, 17:57

Bonjour à tous,

J'ai essayé de me débrouiller tout seul comme un grand et de ne pas faire de message pour ne pas poser pour la 1000e fois la question mais je ne m'en sors pas...

Comme beaucoup, j'ai un souci avec la page checkout_shipping. J'ai la fameuse erreur "Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /xxxx/xxxxx/www/xxx.xxxxxxxxxxx.xxx/catalog/ext/modules/shipping/socolissimos/socolissimos.class.php on line 33"

J'ai installé "SoColissimo Simplicité 1.5" sur MS2.2 avec PHP4. J'ai suivi avec beaucoup d'attention (peut-être pas assez) les différents échanges donc j'ai tenté les scripts dans le HTACCESS, désactivé le module colissimo, désactivé/réactivé le JQuery, recommencé depuis le début, rien n'y fait, j'ai toujours ce message... N'étant pas un dev confirmé, je suis peut-être en train de faire quelques chose trop compliqué pour moi !

Si quelqu'un peut m'aider... ? Merci beaucoup.

BOSC

PS : je précise je n'ai pas de clé ni d'iD marchand pour le moment, je ne sais pas si ça joue...

Écrit par : max44 11 Apr 2012, 15:36

Bonjour amis osc'iens !

J'ai résolu 1 de mes problème en suivant à la lettre les conseils de henrick à propos du nom de point retrait (voir page 10 de ce post).
Merci à lui d'ailleurs smile.gif .

En revanche impossible de résoudre l'autre au niveau du prix panier par rapport aux frais de port.
J'ai essayé de changer la ligne 291 du socolissimos.php comme la conseillé operceval, mais rien de change.

J'ai également désinstaller mes deux autre moyens d'expéditions en ne laissant que Socolissimo mais toujours rien.
Je n'arrive pas à comprendre ce qui pourrait bloquer mes frais de port, je suis complètement larguer ! wacko.gif

Est-ce une mauvaise configuration de mon module ?, Faut-il remodifier un bout de code ?

Cordialement
Max44 blush.gif

Écrit par : Romain-Rom 12 Apr 2012, 14:02

Bonjour,

Je souhaite installer so colissimo mais j'ai un problème.
Mon oscommerce est trés trés modifié et l'arborescence des fichiers dans le répertoire includes (et le reste aussi).

Je ne peux donc pas suivre la consigne d'installation (présente dans l'archive télécharger) car trop d'éléments diffèrent.
Cependant, j'ai essayé de suivre le même schéma que lors de l'installation de différents modules et placer les fichiers selon mon "sens informatique".

Y a t'il une pratique répandue lorsque on a un oscommerce très modifié (et que le créateur n'est plus actif) ?

Je suis actuellement en pleine galère (nouvel arrivant sur l'oscommerce) donc si vous avez des conseils en tout genre pour permettre un fonctionnement régulier et quelques conseils d'organisations de la structure des fichiers, faites m'en part svp.

Merci de votre compréhension. Je suis un novice (pour ne pas dire le plus gros débutant) donc tous vos conseils seront les bienvenues.

Écrit par : oneill 12 Apr 2012, 16:39

Et nous qui ne lisons pas dans le marc de café....
Comment savoir dans quel état est ta boutique ? Sans un accès FTP et du temps (beaucoup) à y consacrer, peu de chance.

Désolé sad.gif

Écrit par : oneill 26 Apr 2012, 17:24

Il est à noter que la version "page sandwich" ou encore "page interstitielle" de Socolissimo ne sera plus opérationnelle après le 31 décembre 2012. Une solution "Iframe" sera à mettre en place d'ici la.

Bonne code

Écrit par : figaro 7 May 2012, 10:31

Bonjour a tous,

Est ce que quelqu'un aurait déjà intégré la version iframe ?
Si oui, quelles sont les modifs a apporter ,
Merci pour vos réponses.
Figaro

Écrit par : telede 8 May 2012, 17:31

Citation (oneill @ 26 Apr 2012, 17:24) *
Il est à noter que la version "page sandwich" ou encore "page interstitielle" de Socolissimo ne sera plus opérationnelle après le 31 décembre 2012. Une solution "Iframe" sera à mettre en place d'ici la.

Exact. Et je me refuse à faire des améliorations à mon module !

Géraud Felgines précise sur mon blog :
Citation
Dans la plupart des utilisations (90% des cas), la validation du choix dans cette page se fera en une seule étape.
La deuxième étape est la sollicitation d’une carte avec la liste des points de retratits hors domicile seulement lorsque elle est nécessaire.
La troisième étape est une page de confirmation du choix qui n’apparaît que si le commerçant le souhaite.


Précision, M. Felgines est le Directeur Marketing de Coliposte angry.gif
http://blog.common-services.com/coliposte-so-colissimo-simplicite-v2/#comment-219

Pour ma part, je m'oppose d'une part : à développer le module liberté v2, car la différence majeur est celle qu'on avait reprochée : 1000px de large, et maintenant la page fait 1000px de haut, pour 800px de large !

Il déborde d'entousiashme concernant So Colissimo livraison hors domicile ; 90% des clients choisiraient SoColissimo domicile, donc à quoi ça sert ?
- A quoi bon débourser des dizaines de centaines de milliers d'euros pour So Colissimo pour 10% de clients ... parisiens ?
- A quoi bon mettre aux 3/8 des bureaux de poste à Paris, les équiper de véhicules électriques pour livrer des clients de 9 à 23 heures ... parisiens, pensez vous qu'à Montparnasse vous avez envie de vous faire livrer à 21h dans votre salon ?

D'autre part car j'ai démocratiquement et volontairement mis à disposition gratuitement ce module pour promouvoir l'autre mais que le service marketing de la poste a toujours décliné !

Je fait un clin d'oeil aux excellents services techniques de Coliposte (et Telnintrans) qui m'ont toujours soutenu wink.gif

J'ai exposé tous ces problèmes à "Coliposte" et ils ont toujours refusé de répondre ...


Écrit par : oneill 9 May 2012, 08:58

Salut Telede

Au moins une de tes remarques à la Poste à trouvé un écho : La largeur des iframes est désormais de 550px (pour 1100px de haut (!))

Écrit par : telede 9 May 2012, 09:20

Salut grand chef wink.gif

Ca reste toujours 1000px de haut... !

Si tu savais combien j'ai vendu de modules http://blog.common-services.com/module-so-colissimo-pour-prestashop/ à des commerçants soucieux de leur taux de transformation et de l'ergonomie de leur site, tu en tomberais de ta chaise !

Le problème est que certains (donc Coliposte) sont incapables d'admettre quel est leur métier et donc ils prônent l'intégration verticale mais en attendant les e-commerçants subissent !


smile.gif

Écrit par : max44 20 Aug 2012, 11:24

Bonjour,

petite question !

Y a-t'il de prévu une version 2 du module simplicité

Cdt,
Max44 wink.gif

Écrit par : oneill 20 Aug 2012, 13:11

Aucune puisque le système Simplicité va être supprimé (voir plus bas)

Écrit par : artiz 20 Aug 2012, 14:32

Citation (telede @ 9 May 2012, 09:20) *
Salut grand chef wink.gif

Ca reste toujours 1000px de haut... !

Si tu savais combien j'ai vendu de modules http://blog.common-services.com/module-so-colissimo-pour-prestashop/ à des commerçants soucieux de leur taux de transformation et de l'ergonomie de leur site, tu en tomberais de ta chaise !

Le problème est que certains (donc Coliposte) sont incapables d'admettre quel est leur métier et donc ils prônent l'intégration verticale mais en attendant les e-commerçants subissent !


smile.gif



Citation (oneill @ 20 Aug 2012, 13:11) *
Aucune puisque le système Simplicité va être supprimé (voir plus bas)


Bonjour Messieurs,

Je n'ai pas suivi vos échanges des 6 derniers mois (j'aurais du activer la notification par courriel...) et comme par hasard je passe sur ce fil le jour ou oneill relance le débat. wink.gif Je vois que Telede est bien decu, et c'est normal vu les efforts qu'il a fait pour nous tous et pour la poste ! (encore merci)
(Quand je pense aux discours des commerciaux de la poste qui vont voir les ecommercants en leur disant que socolissimo c'est génial, car l'étiquette sort toute seule, dès que la commande est mise en livraison... personne ne leur dit que c'est nous qui faisons le boulot pour que cela fonctionne!)

Perso j'étais prêt à payer / contribuer à soco Liberte pour osc, car comme tu le dis si bien, je ne vais pas changer pour PS ou Magneto sachant que quitte à faire une grosse migration autant le faire sur d'autres solutions encore plus récentes qui arrivent (cf. DC), mais c'est un choix personnel.

Je partage complètement ton point de vue telede, ces solutions proposées par la poste sont contre productives et ne facilitent pas l'acte d'achat. Si ils continuent, nous allons arrêter de proposer socolissimo. J'ajoute une pièce dans le cochon, quitter le site marchand pour se rendre sur celui de la poste déclenche des alertes sécurités sur tous les SSL, et ca c'est bien pire que de devoir faire 5 cliques de plus, alors perdre 50% voir plus des clients pour faire plaisir à 10% des clients...)

De plus, je ne vois pas l'intérêt de nous obliger à passer à la iframe.

En attendant il nous faut anticiper cette histoire de iframe. Il y a beaucoup de travail à faire pour porter ta superbe solution soco liberté de Magneto à OSC?

Sinon, quitte à perdre en rapidité, je vais me faire un api en curl qui règlera le problème, même si c'est toujours galère à maintenir. (comme notre reclamaposte qui est encore en rade).

Écrit par : la loutre 9 Oct 2012, 15:31

Bonjour à tous,

Mais alors comment faites-vous ? La Poste me dit que le 31/12/2012, la solution simplicité sera supprimée et que seule la solution iframe fonctionnera. Vous prenez le parti de ne plus proposer la livraison hors domicile ?
Existe t-il une solution (même payante) qui tiendrait la route ?
Merci pour vos lumières... huh.gif

Écrit par : oneill 9 Oct 2012, 15:43

Pour ma part, je vais remettre les mains dans le cambouis, si je n'ai pas changé d'avis d'ici la....

Écrit par : SaphyraK 6 Nov 2012, 15:42

Bonjour oneill, Gnidhal, concernant le projet 'SoColissimo Simplicité', je suis aussi intéréssé par le remaniement de ce projet.

Je suis développeur moi aussi, j'ai aussi retravaillé la contribution base de ce superbe module créé à l'origine par telede/delete.

Depuis quelques jours, la poste m'a contacté pour m'informer que l'ancien système de SoColissimo allait être supprimé..

Oui, ça c'est bien... Mais ce qu'ils n'ont pas dis, c'est.. Où tester la nouvelle version? (Je veux dire: comment tester que ce que l'on développe soit fonctionnel une fois l'ancien système disparu..?)

Et qu'est-ce qui change concrêtement?

Je veux bien partager mes modifications de la contribution base si cela peut aider/apporter de l'aide à la communauté.

Nous avons jusqu'en fin décembre (je prévois toutefois, que nous devrions finir ça avant la fin de la dernière semaine de décembre, du au fêtes..) pour mener à bien ce projet pour supporter la nouvelle version.

Mes modifications: envoie plus de paramètres que ceux de la contributions originale, cela offre en outre d'une plus grande clarté la correction du bug des accents.

Enfin.. Pour terminer: je connais jQuery, jQuery.ajax() (en json/json with padding)..

Voilà si l'on peut s'entraider..

Écrit par : oneill 6 Nov 2012, 17:22

Salut

J'ai le guide d'intégration si jamais il te manquait. (Guide intégration SoCo iframe)

Écrit par : SaphyraK 7 Nov 2012, 12:20

Hello oneill, puisque tu es là, j'aurais deux ou trois questions à te poser:

  1. L'adresse de la pudo-fo-url est donc maintenant ?: http://ws.colissimo.fr/pudo-fo-frame/storeCall.do
  2. Actuellement, le comportement du module est le suivant: à partir du choix d'expédition, le module SoColissimo page sandwich est chargé, on sélectionne donc ce mode d'expédition et on accède à l'url: http://ws.colissimo.fr/pudo-fo-frame/storeCall.do (qui fait donc changer de page), sur cette page j'accède correctement à la page que l'on voit dans le guide d'intégration iFrame (sauf que dans le cas actuel, elle n'est pas affichée comme une iFrame), les données postées apparaissent bien, si il y a des accents, ils sont détruits, et remplacés par leur lettre respective sans accents, on valide les différents points, et on valide le formulaire, et là on est rebalancé vers le site oscommerce qui nous permet de continuer -> Tout cela se passe sans aucunes erreurs.
  3. Ne pas passer par une IFrame (alors que visiblement ça marche sans avec la nouvelle url) pose-t-il des problèmes? Sachant qu'au final, dans un sens, que ce soit en IFrame ou non-IFrame, la page sera de toutes façons appellées sur le serveur socolissimo, et en aucuns cas ils ne peuvent savoir ce qu'on en fait...
  4. Question subsidiaire, comment vérifier que cette technique fonctionnerait après l'implémentation de la destruction de l'ancienne version -(qui deviendra obsolète par socolissimo)
Voilà.



Écrit par : max44 17 Nov 2012, 18:06

Bonsoir,

y-a-t-il du nouveau sur le développement de so colissimo simplicité ?

Cdt Max cool.gif

Écrit par : SaphyraK 19 Nov 2012, 18:51

Bonsoir, max44

Dans ta version actuelle, si tu modifies l'adresse de la pudo-fo-url par : http://ws.colissimo.fr/pudo-fo-frame/storeCall.do
Tu obtiens une erreur, si oui laquelle ?

Écrit par : max44 20 Nov 2012, 08:08

Bonjour,

Eh bien ça ne changes rien, je suis toujours bloqué à la page checkout_shipping


Cdt Max

Écrit par : SaphyraK 20 Nov 2012, 17:02

Citation (max44 @ 20 Nov 2012, 08:08) *
Bonjour,

Eh bien ça ne changes rien, je suis toujours bloqué à la page checkout_shipping


Cdt Max


Bonsoir max44,

Merci de ta réponse.
Il se trouve que le module de base ne fonctionnait pas bien non plus pour moi (pour ma part je travaille sur une version MS2.2 (mais, au vu des changements intéressants apportés par la 2.3, je me dis que... ce serait pas bête de voir à migrer ^^').
Comme je suis développeur ( JE NE SUIS PAS LE DEVELOPPEUR ORIGINAL DE CETTE EXCELLENTE CONTRIBUTION TOUTEFOIS, UN RAPIDE CHECK DU CODE-SOURCE TE DIRA QUI EN SONT LES DEVELOPPEURS A L'ORIGINE !! ), je l'ai revu au niveau du fichier de classe et de gestion des erreurs.
Et visiblement, dans ma version, le module (celui que j'ai trafiqué), elle fonctionnait avant l'arrivée de l'obligation de l'utilisation de la version IFrame rendue obligatoire par LaPoste...
Et donc, si je modifies (toujours dans ma version) seulement la pudo-fo-url en dur dans le fichier

(ext\modules\shipping\socolissimos\socolissimos.class.php)

je changes: http://ws.colissimo.fr/pudo-fo/storeCall.do
en: http://ws.colissimo.fr/pudo-fo-frame/storeCall.do

La nouvelle version de la page SoColissimo semble être chargée, fonctionnelle, je peux y choisir le point-relais et valider, le retour au site marchand s'effectue correctement, sans erreurs, et le point-relais d'expédition est bien enregistré dans la base de données du site oscommerce (site marchand donc).


EDIT DU 21/11/2012 : j'ai aussi effectué une gestion plus claire pour le Transporteur SoColissimo dans le récapitulatif d'adresse d'expédition. (Je penses sinon que dans certains cas, quelques livreurs auraient eu du mal à livrer ..)



SINON, important: Quelle est l'erreur qui te bloque à la page checkout_shipping.php ?

Écrit par : max44 22 Nov 2012, 09:06

Bonjour SaphyraK,

avant que je modifie l'adresse pudo, j'avais un problème au niveau des frais de port, la page mettais une plombe a charger et me retournais un time out ou alors mes produits ne se décomptaient plus du panier !
du coup j'avais laisser tombé car n'étant pas développeur, j'étais et je suis toujours largué mais je me dis qu'il faut bien que ça marche un jour ou l'autre car d'après mon conseiller commercial, il n'y aura que cette solution par la suite pour l'envoi des colis !

Pourrais-tu mettre tes fichiers modifier afin que je puisse faire des tests ?

Merci encore pour ton aide smile.gif

Cdt Max

Écrit par : sanjb 26 Nov 2012, 14:19

Bonjour tout le monde,

@SaphyraK: je serai également intéressé par les fichiers que tu as modifiés pour que cela marche avec la nouvelle version du module socolissimo.
Pourrais tu, STP, les mettre en téléchargement?
Merci beaucoup de ton aide.

Écrit par : SaphyraK 26 Nov 2012, 18:21

Bonsoir à tous.

Merci de l'intérêt que vous portez à mes modifications.
Pour le moment, je dois commenter mon code pour que cela sois clair aux autres développeurs.

Mais vous pouvez tester le module sur le site de test que j'ai prévu à cet effet et me donner VOS retours !

Url:
http://saphyra-interactive.fr/OSC_TEST/MS2.2

- ce site n'a pas d'autres but que de servir de sites de test, tout ce que vous y commanderez ne vous sera évidemment pas livré!

Écrit par : oneill 27 Nov 2012, 05:39

Salut SaphyraK

Je viens simplement de commencer à me pencher sur le sujet. L'affichage de la page soco en iframe permet de l'afficher dans son propre environnement. Si la poste avait proposé ce système dès le départ, on n'aurait moins perdu de temps... Je ne sais pas si c'est bien ou pas d'afficher la page soco hors du contexte de la boutique (ca l'habille un peu) mais, il faut savoir que les services de la poste viennent vérifier ton instal en créant un compte test, histoire de voir si tu respectes bien leur cahier des charges.
Autrement, ton module à l'air de fonctionner. Je ne sais pas si, en admin, tu récupères bien tout (n° de relais, commentaires clients, etc..) si oui, c'est bon.

Écrit par : sanjb 27 Nov 2012, 09:09

Bonjour SaphyraK (et les autres smile.gif )
J'ai fais un test ce jour (27/11 à 09:08) et le module so colissimo à bien marché.
Donc si cela te dérange pas, je veux bien récupérer les modifs que tu as apportées quand tu seras OK.
Merci beaucoup

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)