Module OSCommerceWS

De Dolibarr Wiki.

Retour index
Documentation Utilisateur

Retour index
liste des modules

OsCommerce
Numéro/ID du module 900
Doc utilisateur du module Cette page
Doc développeur du module Module OSCommerceWS (développeur)

Contents

Introduction

A compléter

Installation

Ce module est livré en standard avec la distribution de Dolibarr, aussi il est déjà installé.

Le répertoire ws_server/ doit toutefois être copié sur le serveur OSCommerce, dans le répertoire catalog/. Il doit également être configuré, en modifiant le fichier ws_server/includes/configuration.php pour y placer la configuration de OSCommerce.

Ensuite vous devez éditer le fichier côté Dolibarr htdocs/oscommerce_ws/includes/configuration.php pour définir par quelle URL atteindre les web services que vous venez d'installer au paragraphe précédent.

Configuration

Pour utiliser ce module, il vous faut d'abord l'activer. Pour cela, après s'être connecté avec un compte administrateur, aller sur la page "Accueil - Configuration - Modules".

Choisissez l'onglet dans lequel apparait le module puis cliquez sur "Activer".

Si un pictogramme apparait à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.

Le module est alors opérationnel.

Interface

On accède à l'interface via l'onglet OSCommerce dans le menu supérieur de l'interface par défaut de Dolibarr. Ce menu nous donne une première page récapitulative des données disponibles dans OSCommerce.

Le menu de gauche permet alors d'accéder à plus de fonctionnalités, notamment les fonctionnalités de synchronisation.

La liste de fonctionnalités suivante utilise la convention export=Dolibarr->OSCommerce et import=OSCommerce->Dolibarr

Exporter un produit

En cliquant sur le lien AddProd (qui devrait être traduit en français par Ajout produit, on arrive sur la page d'export des produits. Il suffit de sélectionner un produit et une quantité, puis d'appuyer sur le bouton OSCsell (qui devrait être traduit en français par Vendre sur OSCommerce) pour que la requête de création soit envoyée.

Attention, la liste de produits est limitée en utilisant les limitations de listes de Dolibarr. Il se pourrait donc qu'au-delà de, par exemple, 50 produits, il soit impossible de voir le reste des produits. Pour changer cette limite, on peut aller la modifier dans la configuration de Dolibarr, ou si l'on veut s'en débarrasser, c'est dans htdocs/oscommerce_ws/produits/OSCVente.php, chercher $html->select_produits et modifier $conf->produit->limit_size

Importer un produit

Importer un produit se fait au travers du menu "Produits". La page d'import affiche une liste des produits disponibles dans OSCommerce. Le lien de droite affiche "Importer" ou "Modifier", selon que les produits figurent ou non dans la table llx_osc_product.

Si un produit existe localement et qu'on le supprime (localement), on trouve un joli bug de synchronisation, où le produit apparaît ensuite toujours comme à "Modifier" plutôt qu'importer.

Un produit importé de la sorte est importé hors de toute catégorie.

Un message consécutif à l'importation indique si le produit a été importé.

Importer un client

Importer un client se fait via le menu de gauche Clients. Une liste des clients apparaît et, d'une façon identique à la liste des produits, on peut choisir d'importer un client dans Dolibarr depuis OSCommerce via un lien Importer.

Un message d'information atteste de la réussite de l'opération, indiquant par la même occasion quel est l'identifiant interne attribué à ce client dans Dolibarr.

Importer une commande

L'importation d'une commande se fait via le menu de gauche "Commandes".

L'importation d'une commande nécessite la présence préalable dans Dolibarr du client et des produits concernés. Si ce n'est pas le cas, un message nous indique les produits ou clients manquants et bloque l'opération d'import.

Synchroniser une catégorie

La synchronisation des catégories se fait toujours à la main pour le moment. L'utilisation du menu de gauche Catégories nous mène à une page de liste des catégories existantes dans Dolibarr. Il est nécessaire d'indiquer, pour chaque catégorie de Dolibarr, à quelle catégorie de OSCommerce elle correspond. C'est assez peu intuitif pour le moment étant donné qu'il faut connaître le numéro de catégorie dans OSCommerce pour pouvoir appliquer la correspondance.


Problèmes

PHP5

La librairie NuSOAP originale (elle a été modifiée dans le code de Dolibarr pour la version 2.2) entre en conflit avec l'extension SOAP de PHP5, à cause du nom du client SOAP, soapclient qui est identique des deux côtés. Les autres classes ne causent pas de conflit.

Ceci donne lieu à une erreur du type "Cannot redeclare class SoapClient".

Erreur I/O

Il est possible que pour certaines requêtes le client (Dolibarr) renvoie une erreur fatale indiquant un problème d'entrée/sortie (une erreur HTTP 1.1 500 du côté serveur). Ce message d'erreur n'est pas très explicite dans le sens où il s'agit généralement d'un problème au niveau d'une méthode fournie en SOAP uniquement, et pas d'un script complet, comme il pourrait le laisser penser.

Pour corriger, une des deux méthodes suivantes est la bonne (pas encore pu filtrer, désolé): réordonner les appels, côté serveur, à $soap_server->register(méthode) ou donner des paramètres $in et $out à ces mêmes appels à register. D'une façon ou d'une autre, c'est cette partie qui pose problème.

Mon produit n'apparaît pas dans OSCommerce

OSCommerce nécessite une entrée de description de produit pour que le produit apparaisse. Autrement dit, il faut que le produit ait un nom (et éventuellement une description) qui lui soient propres. Tout ça est très joli, le seul problème (dépendant de la version de Dolibarr que vous utilisez) c'est qu'il est possible que la requête d'insertion de la description du produit du côté OSCommerce ne fonctionne pas. Il s'agit de la requête située dans ws_server/ws_articles.php, dans la fonction create_article(). Il faut en fait commenter les 3 lignes commençant par products_head dans le deuxième tableau. Un produit bien inséré dans OSCommerce renvoie inévitablement un message du type le produit JADAA2 Aerosol 60/2 est en vente en ligne consulter. Si ce message n'apparaît pas, il y a fort à parier que le produit n'a pas été inséré.

Autres langues
AnglaisEspagnol