it-swarm-es.com

Guardar datos en cookies

Quiero guardar datos temporales (id y nombre) de la página del producto al carrito a través de Ajax. El problema es registrar nuevas variables en la cookie, utilizando el archivo pendiente de Joomla. Lo intenté:

$inputCookie  = JFactory::getApplication()->input->cookie;
$value        = $inputCookie->get($name = 'myCookie', $defaultValue = null);
$cookieExists = ($value !== null);
$inputCookie->set($name = 'myCookie', $value = '123', $expire = 0);

pero en var_dump ($ _ COOKIE) no hay una variable 'myCoolie' con valor.

¿Y quizás por seguridad necesito usar Session en lugar de Cookie para mantener los productos en el carrito?

3
user3774771

El problema es que su código nunca funcionará la primera vez porque intenta establecer un valor de cookie basado en el valor obtener, que siempre es null como usted Nunca está configurando el valor inicial.

Para configurar una cookie, puede usar lo siguiente:

$app = JFactory::getApplication();

// Get the cookie
$value = $app->input->cookie->get('myCookie', null);

// If there's no cookie value, manually set it
if ($value == null)
{
    $value = HOWEVER YOU GET THE CART DATA
}

// Set the cookie
$time = time() + 604800; // 1 week
$app->input->cookie->set('myCookie', $value, $time, $app->get('cookie_path', '/'), $app->get('cookie_domain'), $app->isSSLConnection());
3
Lodder

Esto te puede ayudar.

https://stackoverflow.com/questions/16206662/how-to-use-cookies-from-a-component

use los métodos setvar y getString

JRequest::setVar($var, $value, 'cookie');
JRequest::getString($var, $default, 'cookie')

O

https://api.joomla.org/cms-3/classes/Joomla.Input.Cookie.html

O

http://blog.tormix.com/joomla/set-and-get-cookies-in-joomla-cms/

0
Info Truth