Aller au contenu

October 15, 2013

1

Créer et utiliser des variables cookie dans Prestashop !

Lors du développement de nouvelles fonctionnalités dans votre boutique prestashop, il peut être très utile d’utiliser et de stocker des variables en cookie. Grâce à ce mini tutoriel, vous serez capable de le faire.

Pour rappel :

“En informatique, un cookie (aussi appelé témoin) est défini par le protocole de communication HTTP comme étant une suite d’informations envoyée par un serveur HTTP à un client HTTP, que ce dernier retourne lors de chaque interrogation du même serveur HTTP.”

Plus simplement, les variables que vous stockerez dans le cookie seront placées sur l’ordinateur client, ainsi, elle seront conservées pendant toute la durée de vie du cookie, et cela même si le client quitte votre boutique !

Utilisation de la variable “$cookie” dans prestashop.

$cookie->__set('mavariable' , '1');
//CREATION D'UN VARIABLE COOKIE APPELEE "MAVARIABLE" AVEC POUR VALEUR : 1
 
$cookie->__unset('mavariable');
//SUPPRESSION DE LA VARIABLE COOKIE "MAVARIABLE"
 
$cookie->mavariable;
//RECUPERATION DE LA VALEUR DE LA VARIABLE COOKIE "MAVARIABLE"

N’oubliez d’initialiser la variable globale $cookie avant de l’utiliser !

global $cookie;
Publié par
Plus d'articles pour la catégorie Tutoriels
5 Commentaires Poster un commentaire
  1. Jan 6 2012

    $cookie->mavariable = 1;

    __set et __unset sont ce que l’on appelle respectivement setter et getter, des fonctions natives de PHP présentes implicitement dans chaque classes, elles sont étendues par Cookie pour traiter les relations clé/valeur différemment pour le stockage.

    Reply
  2. Mar 8 2012

    Merci pr le tuto !

    Reply
  3. Mar 19 2012

    Bonjour,

    Je pense que vous vouliez dire que __set() et __unset() sont des méthodes magiques.

    __get() est un getter
    __set() est un setter

    Bonne journée

    Cordialement

    Reply
  4. Ced
    Apr 24 2012

    Bonjour,

    Merci pour ce mini tuto.

    J’ai justement un problème avec un passage de variable en cookie.
    Peut-être pourriez-vous me diriger vers une solution pour cela ?

    Je vous explique mon projet :
    Dans la personnalisation des produits (côté client), on peut ajouter une image si celle-ci est configurée pour le produit dans l’admin.
    Cette option va afficher, sur la fiche du produit, un champ de type “file” simple.

    Mon but est de changer ce champ file par un upload avec progressbar en flash.

    Pour ne pas toucher au coeur de prestashop, ni aux fichiers de base, j’ai écris un petit module qui va surcharger le ProductController.php en redéfinissant la méthode display dans le répertoire override/controllers et qui va afficher un template spécifique au module. Ce template contiendra le nouveau champ upload avec progressbar.

    Jusque là, pas de soucis, ma progressbar s’affiche bien, etc …

    Par contre, là ou j’ai un problème, c’est pour passer le tableau $_FILE …

    Effectivement, à la fin de son exécution, le flash appelle un script “upload.php” qui se trouve dans le module, au même endroit que l’animation flash.

    Voici le contenu de mon fichier upload.php :

    __set(‘customized_files’, $_FILES['Filedata']);
    }
    }
    ?>

    Et voici ce que j’essaie d’afficher dans la surcharge de la méthode pictureUpload() :

    public function pictureUpload(Product $product, Cart $cart)
    {
    global $cookie;
    echo ‘debug : ‘;
    var_dump($cookie->customized_files);

    Mais il n’affiche que mon “echo ‘debug : ‘;

    J’ai cru comprendre que Prestashop ne travaillait pas avec des sessions mais avec des cookies.

    Je ne sais plus vraiment quoi faire à ce niveau …

    Merci d’avance

    Cordialement

    Reply
  5. Nov 23 2012

    Merci pour ce tutoriel très clair.

    Reply

Partagez votre opinion, postez un commentaire.

(requis)
(requis)

Note: Le HTML est autorisé. Votre e-mail (ne sera pas publié).

S'abonner aux commentaires


6 + = 12