Jump to content

Crear cookies de prestashop a usuario entrado por wordpress


bombis

Recommended Posts

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

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

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

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

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 by bombis (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...