[Prestashop] How to Debug Prestashop API?
There are severals ways to make it right. Below I described my way of testing Prestashop API using cURL as the tool that checkes all dependencies. After enabling Prestashop API in your administration panel, save the API Key.
Depends what you want to check your xml files would be different. All possibilites you can find in the Prestashop API documentation, for instance: http://doc.prestashop.com/display/PS14/Chapter+4+-+Retrieve+Data+-+Retrieving+a+Client. Most important thing here is the XML file.
In our example we will add a new product to the Prestashop API. Here is ours XML file with data.
product.xml
1 2 3 4 5 6 7 8 9 10 11 |
<prestashop> <product> <price>123.00</price> <link_rewrite> <language id="1"><![CDATA[test-123]]></language> </link_rewrite> <name> <language id="1"><![CDATA[Test 123]]></language> </name> </product> </prestashop> |
Save it and execute command below.
1 |
curl -X POST -u 'YOUR_PRESTASHOP_API_KEY:' -d @product.xml 'http://YOUR_WEBSITE_URL/api/products' -v |
Pretashop has RESTful API so it depends on the http methods that you would be able to add / edit or remove products.
[Prestashop] Adding Product Thumbnail to the Order Email
Find and open PaymentModule (directory classes).
There will be line similar to this (line 381).
1 2 3 4 |
$products_list .= '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';"> <td style="padding: 0.6em 0.4em;width: 15%;">'.$product['reference'].'</td> <td style="padding: 0.6em 0.4em;width: 30%;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').' - |
We are adding the new cell to this table by getting product image from the database. Below you will the code.
1 2 3 4 5 6 |
$img = $this->context->link->getImageLink($product['link_rewrite'], $product['id_image'], 'pos_product'); $products_list .= '<tr style="background-color: '.($key % 2 ? '#DDE2E6' : '#EBECEE').';"> <td style="padding: 0.6em 0.4em;width: 15%;"><img style="width: 100px" src="' . $img .'" /></td> <td style="padding: 0.6em 0.4em;width: 15%;">'.$product['reference'].'</td> <td style="padding: 0.6em 0.4em;width: 30%;"><strong>'.$product['name'].(isset($product['attributes']) ? ' - '.$product['attributes'] : '').' - |