Jump to content

damien13

Members
  • Posts

    28
  • Joined

  • Last visited

damien13's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. Un bug a été ajouté au bugtracker à ce sujet : http://forge.prestas...owse/PSCFI-4086 Non résolu sur la version 1.4.6.2
  2. Bonjour, Le tutoriel ne gère pas les champs qui nécessite une traduction. Ça marche bien pour les customers mais pour les products, problème. Il faudrait, je pense, passer des inputs comme ça pour récupérer les différentes valeurs pour chaque langage (même s'il n'y en a qu'un) : Langage 1 : <input name[]="name" value="la valeur 1" /> Langage 2 : <input name[]="name" value="la valeur 2" /> Langage 3 : <input name[]="name" value="la valeur 3" /> Langage 4 : <input name[]="name" value="la valeur 4" /> Langage 5 : <input name[]="name" value="la valeur 5" /> Puis traiter au retour le tableau POST['name'] récupéré et renseigner le XML comme il faut. Il faut au final avoir une balise name comma ça : la valeur 1 la valeur 2 la valeur 3 la valeur 4 la valeur 5 Le nombre de balises language dépend des langages activés. Idem pour la balise link_rewrite. Je n'ai pas testé, c'est juste une idée mais j'espère vous avoir mis sur la voie. Damien
  3. Cool ! D'après ce que j'ai compris, ces champs ne sont pas vraiment des attributs d'un produit mais plus des informations supplémentaires fournies par le Webservice et donc calculées et non stockées (je pense notament à nb_products_recursive pour les categories). Les champs date_add et date_upd sont aussi spéciaux, ils sont logiquement mis à jour par le serveur automatiquement. Il est donc normal qu'il soit interdit de modifier tous ces champs. Content que ça fonctionne. Damien
  4. Bonjour, Je pense que certains champs ne doivent pas être dans le XML envoyé. J'ai comparé le XML que vous avez posté avec le résultat de /api/products?schema=synopsis. Il y a 6 champs en plus qu'il faudrait retirer du XML envoyé : - id_default_image - position_in_category - manufacturer_name - unity - date_add - date_upd Il faut aussi peut-être retiré 'id'=>10 du tableau passé en paramètre de la méthode edit(). Tenez-moi au courant si cela fonctionne. Damien
  5. Bonjour, La page a été déplacée. Le tutoriel est disponible ici : http://wiki.prestashop.com/display/PS14/Tutoriel+Webservice+REST Damien
  6. Hi, This topic is quite old but I think I may have the answer to this. In your case, you should POST to /api/images/products/14 where 14 is the product_id. You should add also the mime-type of the image and the xml data is not required. $data = array('image'=>"@"."/var/www/img/logo.jpg;type=image/jpeg"); Damien
  7. Comment faisiez-vous au départ ? Est-ce que vous avez un exemple de code et du xml envoyé ?
  8. Bonjour, Je pense que quand vous utilisez 'display', le xml renvoyé ne contient que la champ demandé. Pour modifier un produit, il faut récupérer tous les attributs du produit, modifier les valeurs souhaitées et appeler edit avec le xml modifié. Je n'ai pas testé donc à tester. Damien
  9. Bonjour, J'ai installé Prestashop sur un serveur qui a une configuration un peu spécifique au niveau du serveur Apache. Il y a en effet 2 serveurs Apache, un serveur léger (Frontend) et un serveur plus lourd (Backend). Le Frontend s'occupe de répondre aux requêtes de contenu statique (images, html, css ...) et redirige les requêtes de contenu dynamique (php) vers le Backend. Tout ça pour dire qu'il y a donc une redirection d'effectuée. On en vient au problème : Dans le FrontController, dans la fonction canonicalRedirection(), $_SERVER['HTTP_HOST'] est utilisé pour récupéré le domaine. Or dans mon cas le bon domaine est situé dans $_SERVER['HTTP_X_FORWARDED_HOST']. En cherchant j'ai remarqué qu'il existe une fonction dans Tools (getHttpHost()) qui s'occupe de récupérer le bon "HTTP_HOST" suivant les cas. Il faut donc que je remplace $_SERVER['HTTP_HOST'] par Tools::getHttpHost(). Cette modification est aussi à réaliser dans CategoryController, CMSController & ProductController. Il existe également d'autres endroits où $_SERVER['HTTP_HOST'] est utilisé mais je suis pas sûr que ça a un impact sur la configuration de mon serveur. Donc pensez-vous qu'il est judicieux d'insérer ça dans le BugTracker ? Si cela est modifié, cela m'évitera de devoir refaire les modifications à chaque mise à jour de Prestashop. Merci d'avance pour votre avis.
  10. Hi, I think I've figured it out. I put this in the CURL request and it works : CURLOPT_POSTFIELDS => array('image' => '@'.$image.';type=image/jpeg') where $image is this absolute path to the image. Thanks for your help. PS : maybe you could mark this topic as solved. Damien
  11. Hi Bemasoft, Thanks for your reply. I checked your post (translated by Google ;-)). I have a question about it. If I use CURL to generate the request (like with the Webservice CRUD tutorial), where must I put the content of the image. I've added CURLOPT_POSTFIELDS => 'name="image"&filename;="50.jpg"', used the url 'images/products/9' for an existing product id, but I can't found how to add the content to the request. I get the content with PHP like this : $image = file_get_contents('50.jpg'); Muchas gracias. ;-) Damien
  12. Hi, I have the same problem, I can’t figure out how to upload images using webservices. Any ideas ? Thank you !
  13. Excusez-moi pour ma réponse tardive mais j'ai été pas mal occupé. Exemple pour l'insertion d'un produit : require_once('PSWebserviceLibrary.php'); $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); $xml_product = $webService->get(array('resource' => 'products?schema=synopsis')); $resources_product = $xml_product->children()->children(); // champs requis $resources_product->quantity = 0; $resources_product->price = 1; $resources_product->out_of_stock = 2; $resources_product->name->language[0][0] = 'test'; $resources_product->link_rewrite->language[0][0] = 'test'; // par exemple pour vider les associations aux categories unset($resources_product->associations->categories->category); // associer a une categorie (id = 1) $resources_product->associations->categories->addChild('category')->addChild('id', 1); $xml_product = $webService->add(array('resource' => 'products', 'postXml' => $xml_product->asXML())); En essayant cet exemple, vous devriez avoir un exemple de xml pour l'insertion d'un produit. Pour ton problème Leonid Stas, je pense que ça doit venir de tes caractères grecs qui ne doivent pas passer. Je sais pas comment faire... En espérant vous avoir aider.
  14. exemple d'insertion d'une categorie basé sur le tutoriel disponible ici require_once('PSWebserviceLibrary.php'); $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); $xml_category = $webService->get(array('resource' => 'categories?schema=synopsis')); $resources_category = $xml_category->children()->children(); $resources_category->id_parent = 1; $resources_category->active = 1; $resources_category->name->language[0][0] = 'test'; $resources_category->link_rewrite->language[0][0] = 'test'; $xml_category = $webService->add(array('resource' => 'categories', 'postXml' => $xml_category->asXML()));
  15. Merci pour votre réponse. Encore désolé pour ce post inutile ... Sinon j'ai quelques difficultés lors de l'utilisation des Webservices, j'ai fait quelques posts, vous pourriez éventuellement m'éclairer. http://www.prestashop.com/forums/viewthread/114779/ (ajout d'images) http://www.prestashop.com/forums/viewthread/114933/ (associations de tags aux produits) Et une petite remarque sur la gestion des produits : http://www.prestashop.com/forums/viewthread/114377/ Merci d'avance.
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More