How to Add a New Custom Field in Prestashop
I’ve figured out how to add new field to database using Prestashop (1.4.3, but I think for the newer versions would be the same). This solution gives you new field in database and you will be able to edit / save data to this field in your admin panel, for my example I needed a field which was called “number of photos”. Below you can see how it works.
Read the full article »
Getting Cart From Prestashop
If you have a problem with getting cart from prestashop that would be interesting for you.
I had a huge problem with Prestashop (version 1.4.3) because I didn’t know how exactly I should get cart from Prestashop to the WordPress or somewhere else. However I spent some time to resolve that issue and I wrote that:
First of all we should get session data from Pretashop:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
require_once dirname(__FILE__) . '/config/config.inc.php' ;
require_once(dirname(__FILE__) . '/config/settings.inc.php');
require_once dirname(__FILE__) . '/init.php' ; // this initializes the Cookie singleton, which is available in any script
function getAllCookies(){
global $cookie ;
// var_dump($cookie);
return $cookie;
}
$cookie = getAllCookies(); |
As you see you should add some lines from Prestashop configuration and then you should create a function in which you have cart ID. And then you can easily get all data from the cart:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
$query = "SELECT p.id_product, pl.name, p.quantity, pp.price, p.id_product_attribute, pp.price * cu.conversion_rate AS orderprice, cu.sign, cu.format FROM ps_cart c
LEFT JOIN ps_cart_product p ON (p.id_cart = c.id_cart)
LEFT JOIN ps_product pp ON (pp.id_product = p.id_product)
LEFT JOIN ps_product_lang pl ON (pl.id_product = p.id_product)
LEFT JOIN ps_currency cu ON (cu.id_currency = c.id_currency)
WHERE c.id_cart = " . (int) $cookie->id_cart . " AND pl.id_lang = 1
ORDER BY p.date_add ASC";
$link1 = mysql_connect(_DB_SERVER_, _DB_USER_, _DB_PASSWD_);
if ($link1) {
$db_selected = @mysql_select_db(_DB_NAME_, $link1);
$res = mysql_query($query);
$arrProducts = array();
while ($row = mysql_fetch_assoc($res)) {
$arrProducts[] = $row;
}
var_dump($arrProducts); // all products from session cart
}
mysql_close($link1); |
(Sorry for quality of code but I had to wrote this as quick as possible)
And that’s all ![]()