it-swarm.com.de

Daten in einem Cookie speichern

Ich möchte temporäre Daten (ID und Name) von der Produktseite über Ajax in den Warenkorb speichern. Das Problem besteht darin, neue Variablen im Cookie unter Verwendung der ausstehenden Joomla-Datei aufzuzeichnen. Ich habe es versucht:

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

aber in var_dump ($ _ COOKIE) gibt es keine 'myCoolie'-Variable mit Wert.

Und vielleicht muss ich aus Sicherheitsgründen stattdessen Session Cookie verwenden, um Produkte im Warenkorb zu halten?

3
user3774771

Das Problem ist, dass Ihr Code niemals beim ersten Mal funktioniert, da Sie versuchen, set einen Cookie-Wert zu setzen, der auf dem Wert get basiert, der immer null ist wie Sie setze nie den Anfangswert.

Um ein Cookie zu setzen, können Sie Folgendes verwenden:

$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

Das kann dir helfen.

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

verwenden Sie die Methoden setvar und getString

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

Oder

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

Oder

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

0
Info Truth