rvalluy Posted August 4, 2015 Share Posted August 4, 2015 Bonjour, Nous tentons d'utiliser les webservices pour alimenter plusieurs déploiements de Prestashop avec nos produits/catégories/fournisseurs et les liens relationnels qui vont avec. Nous exportons ces items et leurs liaisons dans des fichiers textes dans le répertoire de prestashop. L'idée est de faire tourner une boucle de lecture du fichier et d'utiliser la méthode add pour importer les catégories , via la fonction : public function addCategorie($xmldetail, $webService, $name, $idParent, $isRoot) { $resources = $xmldetail -> children() -> children(); unset($resources ->id); unset($resources ->position); unset($resources ->date_add); unset($resources ->date_upd); unset($resources ->id_parent); //if unset category will be root. If set it must have id existing parent category! unset($resources ->level_depth); unset($resources ->nb_products_recursive); $resources ->id_parent = $idParent; $resources ->name ->language[0][0] = addslashes($name); $resources ->link_rewrite->language[0][0] = strtolower($this->removeAccents($name)); $resources ->active = 1; $resources ->id_shop_default = 1; $resources ->is_root_category = $isRoot; $opt = array('resource' => 'categories'); $opt['postXml'] = $xmldetail -> asXML(); return $webService -> add($opt); N.B. hors sujet : un tableau temporaire est alimenté par la liste les catégories et récupère l'id au passage pour reconstituer l'arborescence. Cela fonctionne mais est extraordinairement lent, par exemple il faut une heure pour intégrer 600 catégories. Existe-t-il une solution pour améliorer les performances du webservices ou faut-il utiliser une autre méthode ? Romain Link to comment Share on other sites More sharing options...
J. Danse Posted August 4, 2015 Share Posted August 4, 2015 Bonsoir, Ayant pu travailler sur ce genre de problématique (une mise à jour quotidienne d'une multitude de produits/catégories), je peux vous affirmer que cela prends énormément de temps avec l'outil des webservices actuel. Pour pallier à ce soucis d’exécution très lente, nous avions opté pour une solution quasi identique mais sur mesure: un module. Ce module servait en fait de webservice, mais n'utilisait que les associations souhaitées sur base de ce qu'on lui envoyait. Personnellement, je vous conseille de réaliser un module de traitement de données si vous avez la possibilité d’interagir avec (dans notre cas, le client synchronisait son programme interne avec son site en ligne) Link to comment Share on other sites More sharing options...
rvalluy Posted August 5, 2015 Author Share Posted August 5, 2015 Merci. Romain Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now