Como añadir variables a la cookie de Prestashop

Una cookie (o galleta informática) es una pequeña información enviada por un sitio web y almacenada en el navegador del usuario, de manera que el sitio web puede consultar la actividad previa del usuario.

Prestashop almacena información referente al usuario en cookies para llevar el control de usuario y mantenerlo logeado durante la navegación por la tienda.

A partir de la versión 1.5.x debemos saber que tenemos disponible el objecto Context que dispone de mucha información sobre el contexto en los controladores y módulos. En un artículo anterior sobre Prestashop, hablamos de como se usa el objecto Context.

En este artículo vamos a ver lo fácil que es añadir nuevas variables a la cookie de prestashop.

Si hacemos un print_r($this->context->cookie) en cualquier controlador o módulo del objecto cookie veremos un arreglo como el siguiente:

Cookie Object
(
    [_content:protected] => Array
        (
            [date_add] => 2014-05-30 17:47:35
            [id_lang] => 1
            [id_currency] => 1
            [id_guest] => 2
            [id_connections] => 10
            [id_compare] => 0
            [id_customer] => 2
            [customer_lastname] => Aguilar
            [customer_firstname] => Jose
            [logged] => 1
            [is_guest] => 
            [passwd] => f0587eed7249544672456850f06f303c
            [email] => jaguilar@jose-aguilar.com
            [id_cart] => 11
            [checksum] => -670403846
        )

    [_name:protected] => 50611aebd1c5abb315ba70ce0ff2bb16
    [_expire:protected] => 1403192876
    [_domain:protected] => 
    [_path:protected] => /formacion/
    [_cipherTool:protected] => Rijndael Object
        (
            [_key:protected] => NADLzkb5Xp5vKBIz5aNyWOmWfCUIZ0G5
            [_iv:protected] => ��nI
���fƬǷ
        )

    [_modified:protected] => 
    [_allow_writing:protected] => 1
    [_salt:protected] => CKZby4Mz
    [_standalone:protected] => 
)

Vemos que en la cookie se almacena, entre otras cosas, información referente al usuario que está en linea.

Si nosotros ahora quisiéramos añadir más información a la cookie tan solo deberíamos hacer un set de la misma de la siguiente forma:

$this->context->cookie->__set('nickname', 'josely');

Obteniendo como resultado:

Cookie Object
(
    [_content:protected] => Array
        (
            [date_add] => 2014-05-30 17:47:35
            [id_lang] => 1
            [id_currency] => 1
            [id_guest] => 2
            [id_connections] => 10
            [id_compare] => 0
            [id_customer] => 2
            [customer_lastname] => Aguilar
            [customer_firstname] => Jose
            [logged] => 1
            [is_guest] => 
            [passwd] => f0587eed7249544672456850f06f303c
            [email] => jaguilar@jose-aguilar.com
            [id_cart] => 11
            [checksum] => -670403846
            [nickname] => josely
        )

    [_name:protected] => 50611aebd1c5abb315ba70ce0ff2bb16
    [_expire:protected] => 1403193095
    [_domain:protected] => 
    [_path:protected] => /formacion/
    [_cipherTool:protected] => Rijndael Object
        (
            [_key:protected] => NADLzkb5Xp5vKBIz5aNyWOmWfCUIZ0G5
            [_iv:protected] => ��nI
���fƬǷ
        )

    [_modified:protected] => 1
    [_allow_writing:protected] => 1
    [_salt:protected] => CKZby4Mz
    [_standalone:protected] => 
)

Para acceder a la nueva variable lo haremos de la siguiente forma:

echo $this->context->cookie->nickname;
Autor
Escrito por Jose Aguilar - Director ejecutivo y tecnológico en JA Modules. Experto programador PrestaShop y Experto programador WordPress.
Te ha servido? Valora esta entrada!
(4 votos, promedio: 5 de 5)
Comparte en las redes sociales
¿Buscas trabajo de programador?

2 respuestas a “Como añadir variables a la cookie de Prestashop”

  1. Danilo dice:

    Hola, necesito una asesoría.
    Tenemos un mudulo que crea una cookie muy extensa y que no está permitido según la última actualización de Google Chrome.

    ¿Nos pueden ayudar a solucionar ese tema? ¿Cuál es el costo y tiempo de trabajo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.