bombis Posted June 20, 2018 Share Posted June 20, 2018 Hola, Tengo una tienda online con prestashop que incorpora un blog con Wordpress, he modificado un pequeño módulo para poder poner productos de la tienda dentro de los post o entradas del blog, con su correspondiente botón para añadir al carro de compra. Todo funciona bien excepto si el usuario que añade el producto no ha visitado aún nuestra zona de prestashop y por lo tanto no tiene las cookies generadas por el mismo. Como sabemos, prestashop usa las cookies para generar y almacenar después los carritos de compra, si el usuario no tiene esas cookies aún, no se añade ningún producto. Es posible llamar al archivo que genera las cookies en prestashop cuando un usuario entra por el wordpress?? de esa manera, además de funcionar los links para añadir producto, el usuario también no debería aceptar 2 mensajes de cookies diferentes, el del wordpress y el de prestashop. ¿Cualquier otra idea que pueda funcionar? Link to comment Share on other sites More sharing options...
gusman126 Posted June 20, 2018 Share Posted June 20, 2018 Esto debería servir, recuerda cambiar rutaaaaaaaa/ include_once('rutaaaaaaaa/config/config.inc.php'); include_once('rutaaaaaaaa/init.php'); include_once('rutaaaaaaaa/classes/Cookie.php'); $context = Context::getContext(); $cookie = new Cookie(); $cart_id = $context->cookie->id_cart; $id_cart = Context::getContext()->cart->id; if (!$cart_id) { $cart = new Cart(); $cart->id_currency = (int)($cookie->id_currency); $cart->id_lang = (int)($cookie->id_lang); $cart->add(); $context->cookie->id_cart = (int)($cart->id); } else{ $cart = new Cart($cart_id); } Link to comment Share on other sites More sharing options...
bombis Posted June 21, 2018 Author Share Posted June 21, 2018 Hola gusman126 Muchas gracias por responder tan rápido. Exacto, algo de esto estaba buscando, lamentablemente no sucede nada ni se crea la cookies. Lo he puesto en el header.php del tema de mi blog, por cierto, estoy usando prestashop 1.6 Alguna otra idea? Link to comment Share on other sites More sharing options...
bombis Posted June 21, 2018 Author Share Posted June 21, 2018 Hey gusman126, he conseguido realizarlo con otra página prestashop-wordpress que tengo, con un código muy similar al tuyo, así que muchas gracias. Pero no funciona en la otra página y usa la misma versión de prestashop, el 1.6, alguna idea de que puede pasar? <?php include_once('../config/config.inc.php'); include_once('../init.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $cookie = new Cookie('my_cookie'); //make your own cookie $cookie->setExpire(time() + 20 * 60); // 20 minutes for example $cookie->variable_name = 'testing'; $cookie->write(); //to read $cookie = new Cookie('my_cookie'); ?> Link to comment Share on other sites More sharing options...
bombis Posted June 21, 2018 Author Share Posted June 21, 2018 (edited) Solucionado. Para llamar e iniciar las cookies de prestashop desde un directorio diferente en el mismo dominio, por ejemplo un blog de wordpress. include_once('../config/config.inc.php'); include_once('../init.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); include_once('../classes/Cart.php'); $context = Context::getContext(); $cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains, false, $force_ssl); $cookie->write(); Edited June 22, 2018 by bombis (see edit history) 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