Difference between revisions of "Module ECommerce NG (Magento) FR"
m Tag: 2017 source edit |
|||
(23 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | <!-- BEGIN interlang links --> | ||
+ | <!-- Do NOT edit this section | ||
+ | Links below are automatically managed by PolyglotBot | ||
+ | You can edit links on the English source page : Module_ECommerce_NG_(Magento) --> | ||
+ | [[en:Module_ECommerce_NG_(Magento)]] | ||
+ | <!-- END interlang links --> | ||
+ | |||
[[Category:Modules complémentaires]] | [[Category:Modules complémentaires]] | ||
[[Category:Magento]] | [[Category:Magento]] | ||
[[Category:Teclib]] | [[Category:Teclib]] | ||
+ | [[Category:E-commerce]] | ||
{{TemplateDocDev}} | {{TemplateDocDev}} | ||
{{TemplateDocUtil}} | {{TemplateDocUtil}} | ||
− | < | + | <seo metak="Magento, Dolibarr, synchro, synchronisation, interface" /> |
= Informations = | = Informations = | ||
{{TemplateModuleInfo | {{TemplateModuleInfo | ||
− | |modulename=Magento | + | |modulename=ECommerce NG (Magento) |
|editor=Teclib | |editor=Teclib | ||
|web=[http://www.teclib.com www.teclib.com] | |web=[http://www.teclib.com www.teclib.com] | ||
Line 13: | Line 21: | ||
|status=development | |status=development | ||
|prerequisites= | |prerequisites= | ||
− | |minversion=3. | + | |minversion=3.9.0+ |
− | Magento version 1.9 | + | Prerequisite of Magento: Magento version 1.9.* - 1Gb of allowed memory on the PHP where Magento run may be required |
|note= | |note= | ||
}} | }} | ||
= Fonctionnalités = | = Fonctionnalités = | ||
− | Intègre une synchronisation Magento | + | Intègre une synchronisation entre Dolibarr et une plateforme eCommerce. Le support pour Magento es stable, celui pour WooCommerce est experimental, celui pour Prestashop est un développement non terminé (contributions pour cela bienvenues). |
− | Il s'agit d'un module qui s'installe sur Dolibarr. L'accès à | + | |
+ | Il s'agit d'un module qui s'installe sur Dolibarr uniquement. L'accès à la plateforme eCommerce est fait par Dolibarr en utilisant les Web services fournis par la plateforme. | ||
= Installation = | = Installation = | ||
Line 29: | Line 38: | ||
== Configuration côté Magento == | == Configuration côté Magento == | ||
− | * Créer un compte Webservice SOAP/XML RPC depuis l'interface admin System - Webservices - SOAP/XML RPC, par exemple le compte | + | * Créer un compte Webservice SOAP/XML RPC depuis l'interface admin System - Webservices - SOAP/XML RPC, par exemple le compte '''soapuser'''. |
* Mettre un mot de passe dans le champ API key. | * Mettre un mot de passe dans le champ API key. | ||
== Configuration côté Dolibarr == | == Configuration côté Dolibarr == | ||
+ | |||
+ | Aller sur la page de configuration Dolibarr du module Magento. | ||
[[File:Config Magento.png|400px]] | [[File:Config Magento.png|400px]] | ||
* Saisir l'URL des services SOAP Magento. | * Saisir l'URL des services SOAP Magento. | ||
− | * Renseigner le login et | + | * Renseigner le login et l'API key créé à l'étape précédente dans Magento (soapuser). |
* Choisir la catégorie à utiliser pour marquer les tiers issus de Magento ou ceux à pousser sur Magento. Le tiers assigné à cette catégorie seront poussés en temps réel sur Magento. | * Choisir la catégorie à utiliser pour marquer les tiers issus de Magento ou ceux à pousser sur Magento. Le tiers assigné à cette catégorie seront poussés en temps réel sur Magento. | ||
* Choisir la catégorie mère dans laquelle sera créée les catégories produits issues de Magento. Les produits créés ou modifiés qui sont assignés à une catégorie ou sous-catégorie de cette dernière seront poussés sur Magento en temps réel. | * Choisir la catégorie mère dans laquelle sera créée les catégories produits issues de Magento. Les produits créés ou modifiés qui sont assignés à une catégorie ou sous-catégorie de cette dernière seront poussés sur Magento en temps réel. | ||
Line 45: | Line 56: | ||
== Synchronisation de Magento vers Dolibarr == | == Synchronisation de Magento vers Dolibarr == | ||
− | + | == Synchronisation de Dolibarr vers Magento == | |
+ | |||
+ | = Développement = | ||
+ | {{TemplateModTeclibFr}} | ||
+ | |||
+ | |||
+ | = TroubleShooting = | ||
+ | A cause de problèmes dans Magento, si vous avez un nombre important de catégories de produits, vous constaterez de très mauvaise performance lors du comptage des données à synchroniser ou lors de la synchronisation. Voici une modification qui peut améliorer cela: | ||
+ | |||
+ | Sur Magento 1.9, éditer le fichier '''app/code/core/Mage/Catalog/Model/Category/Api.php''' pour ajouter la ligne visible en commentaire | ||
+ | |||
+ | <syntaxHighlight lang="php"> | ||
+ | |||
+ | ... | ||
+ | |||
+ | /** | ||
+ | * Convert node to array | ||
+ | * | ||
+ | * @param Varien_Data_Tree_Node $node | ||
+ | * @return array | ||
+ | */ | ||
+ | protected function _nodeToArray(Varien_Data_Tree_Node $node) | ||
+ | { | ||
+ | // Only basic category data | ||
+ | $result = array(); | ||
+ | $result['category_id'] = $node->getId(); | ||
+ | $result['parent_id'] = $node->getParentId(); | ||
+ | $result['name'] = $node->getName(); | ||
+ | $result['is_active'] = $node->getIsActive(); | ||
+ | $result['position'] = $node->getPosition(); | ||
+ | $result['level'] = $node->getLevel(); | ||
− | * | + | |
− | * | + | /* FIX Add here this new line to add the missing property returned by web service */ |
− | * | + | /*********/ |
− | * | + | $result['updated_at'] = $node->getUpdatedAt(); |
− | * | + | /*********/ |
− | * | ||
− | |||
− | == | + | $result['children'] = array(); |
+ | |||
+ | foreach ($node->getChildren() as $child) { | ||
+ | $result['children'][] = $this->_nodeToArray($child); | ||
+ | } | ||
− | + | return $result; | |
+ | } | ||
− | + | ... | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | </syntaxHighlight> | |
− |
Latest revision as of 11:31, 14 June 2022
Informations
Module name | ECommerce NG (Magento) |
Editor / Editeur | Teclib - www.teclib.com |
Download or buy page / Page achat ou téléchargement | External module - www.dolistore.com |
Status / Statut / Estado | Development / Développement |
Prerequisites / Prérequis |
Dolibarr min version: See on Dolistore Dolibarr max version: See on Dolistore |
Last update date / Date mise à jour fiche / Fecha última actualización | 2022-06-14 |
Note / Nota |
Fonctionnalités
Intègre une synchronisation entre Dolibarr et une plateforme eCommerce. Le support pour Magento es stable, celui pour WooCommerce est experimental, celui pour Prestashop est un développement non terminé (contributions pour cela bienvenues).
Il s'agit d'un module qui s'installe sur Dolibarr uniquement. L'accès à la plateforme eCommerce est fait par Dolibarr en utilisant les Web services fournis par la plateforme.
Installation
Depuis l'application
- Avec un compte ayant le profil "administrateur", aller dans le menu Accueil - Configuration - Modules - Déployer un module externe.
- Soumettez le fichier zip. Le module sera déployé est prêt pour l'étape suivante d'activation.
Manuellement
Si la méthode précédente a été désactivée par votre hébergeur, en voici une autre:
- Télécharger le fichier archive du module (fichier .zip)
- Placer le fichier dans le répertoire racine de dolibarr.
- Decompressez le fichier, par exemple par la commande
unzip fichiermodule.zip
- Le module est alors visible dans la liste des modules (Accueil -> Configuration -> Modules) et activable.
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 apparaît le module puis cliquez sur "Activer".
Le module est alors activé.
Si un pictogramme apparaît sur la vignette ou à la fin de la ligne du module, cliquez dessus pour accéder à la page de paramétrage spécifique à ce module.
Configuration côté Magento
- Créer un compte Webservice SOAP/XML RPC depuis l'interface admin System - Webservices - SOAP/XML RPC, par exemple le compte soapuser.
- Mettre un mot de passe dans le champ API key.
Configuration côté Dolibarr
Aller sur la page de configuration Dolibarr du module Magento.
- Saisir l'URL des services SOAP Magento.
- Renseigner le login et l'API key créé à l'étape précédente dans Magento (soapuser).
- Choisir la catégorie à utiliser pour marquer les tiers issus de Magento ou ceux à pousser sur Magento. Le tiers assigné à cette catégorie seront poussés en temps réel sur Magento.
- Choisir la catégorie mère dans laquelle sera créée les catégories produits issues de Magento. Les produits créés ou modifiés qui sont assignés à une catégorie ou sous-catégorie de cette dernière seront poussés sur Magento en temps réel.
Utilisation
Synchronisation de Magento vers Dolibarr
Synchronisation de Dolibarr vers Magento
Développement
Le développement de ce module n'est pas inclus dans le repository GIT standard de Dolibarr mais dans un repository dédié de modules gérés par TecLib.
- GIT Repository: https://github.com/TECLIB/dolibarr
TroubleShooting
A cause de problèmes dans Magento, si vous avez un nombre important de catégories de produits, vous constaterez de très mauvaise performance lors du comptage des données à synchroniser ou lors de la synchronisation. Voici une modification qui peut améliorer cela:
Sur Magento 1.9, éditer le fichier app/code/core/Mage/Catalog/Model/Category/Api.php pour ajouter la ligne visible en commentaire
...
/**
* Convert node to array
*
* @param Varien_Data_Tree_Node $node
* @return array
*/
protected function _nodeToArray(Varien_Data_Tree_Node $node)
{
// Only basic category data
$result = array();
$result['category_id'] = $node->getId();
$result['parent_id'] = $node->getParentId();
$result['name'] = $node->getName();
$result['is_active'] = $node->getIsActive();
$result['position'] = $node->getPosition();
$result['level'] = $node->getLevel();
/* FIX Add here this new line to add the missing property returned by web service */
/*********/
$result['updated_at'] = $node->getUpdatedAt();
/*********/
$result['children'] = array();
foreach ($node->getChildren() as $child) {
$result['children'][] = $this->_nodeToArray($child);
}
return $result;
}
...