Jump to content

Problème de cookie avec integration wordpress et prestashop


Recommended Posts

Bonjour à tous et à toutes

Je m’appelle Aurélien je suis étudiant en informatique, je viens de commencé il y a quelque semaine le développement du site web pour l'entreprise de mon père, pour cela j'utilise Wordpress concernant la partie vitrine du site et Prestashop pour la partie boutique.

J'ai deux sous-domaine le www. pour wordpres et shop. pour prestashop, j'ai réussi à trouver deux thèmes équivalents et ainsi que l'intégration du header et du footer de prestashop dans le blog wordpress; sauf que je n'arrive pas à récupérer la session de prestashop donc pas de nom ni le contenu du panier du client ne sont visible lorsque l'on change de la boutique vers une page du blog.

Je sais qu'il serait possible de le faire via une iframe mais j'ai quelque réticence à utiliser ce procéder, de plus j'importe le menu du site contenu dans le header de prestashop comme il possède des sous-menu impossible d'utiliser ce moyen.

Donc j'ai importer directement dans mon theme wordpress les fichiers suivant shop/config/config.inc.php, shop/header.php et shop/footer.php.

J'ai constaté que lorsque le me connecte au site (www) j'ai un premier cookie de créé puis lorsque que je vais dans la boutique (shop) un second est créé, c'est bien ce dernier qui contient toute les données mais c'est deux cookie sont lié au domaine entier je ne comprend pas pourquoi je ne peux accéder au donnée du cookie créé aprés l'authentification d'un compte dans le blog alors que le header est importé de prestashop.

merci d'avance pour votre aide
le site web c'est www.albg.fr (il n'est pas fini)

Link to comment
Share on other sites

Merci d'avoir répondu, J'ai fait ce que tu m'as dit, j'ai donc inclut le fichier /init.php et vérifier le cookie sauf que j'ai 2 cookie créé à quelque seconde d'écart, c'est donc le premier qui est lu mais c'est le second qui est remplis par prestashop lors de l'authentification je ne récupère donc toujours aucune donnée.

je ne vois pas comment faire pour évité la création du premier cookie, j'ai une hypothèse qui est que l'appel au fichier /config/config.inc.php crée un cookie puis le header.php en crée un aussi.

Link to comment
Share on other sites

Est-ce que tu appelles les choses dans le bon ordre ?
la première inclusion doit être config.inc.php, puis init , et enfin et seulement la suite (header en outre).
Je suppose que tu auras bien noté également que $cookie est un objet de la classe /classes/Cookie.php , et que tu n'utilises pas les fonction natives de php pour y accéder ...

Je n'ai malheureusement rien d'immédiat à te suggérer de plus . En utilisation classique je ne me suis jamais retrouvé avec deux cookies. N'est-il pas possible que wordpress en génère également un ?

Link to comment
Share on other sites

voici mon fichier header.php
<?php
require_once('shop/config/config.inc.php');
include_once('shop/init.php');
include_once('shop/header.php');
global $cookie;
?>

et mon fichier footer.php
<?php
require_once('shop/config/config.inc.php');
include_once('shop/footer.php');
?>

dans la configuration de prestashop j'ai mis les sous-domaine www et shop dans la partie :
Panneau d'administration > Outils > Sous domaines
je pensais que c'était prévu à cette effet mais cela ne change rien

voici le résultat du var_dump($cookie) :

object(Cookie)#3 (9) { ["_content:protected"]=> array(5) { ["date_add"]=> string(19) "2011-04-12 18:13:30" ["id_lang"]=> string(1) "2" ["id_currency"]=> string(1) "1" ["id_guest"]=> string(3) "208" ["id_connections"]=> string(3) "294" } ["_name:protected"]=> string(32) "8e7519e219d14fd795ecea071ef87db2" ["_expire:protected"]=> int(1304354649) ["_domain:protected"]=> string(7) "albg.fr" ["_path:protected"]=> string(1) "/" ["_cipherTool:protected"]=> object(Rijndael)#135 (2) { ["_key:protected"]=> string(32) "o6eC8pbXUwXWjxhHOQgb8PDUJtLSkCjp" ["_iv:protected"]=> string(16) "$����"�(T�7h�" } ["_key:protected"]=> string(56) "qztDftZ0IezdfFQeD1z7BZhmoHz8GcmjIZYb93J7Q7JD2cS2HPnmbdH8" ["_iv:protected"]=> string(8) "dfCfYJVE" ["_modified:protected"]=> bool(false) }

alors que le vrai cookie utilisé par prestashop porte le nom de 0652190998594f11f046f70e97cba4c2

je n'ai pas de cookie avec wordpress pour la simple raison que je n'inclut pas le header de wordpress, c'est juste pour moi une facon de pouvoir éditer les pages du site plus facilement que de faire des pages en dur, le client ne s'y connecte pas et les commentaire sont désactivé.

Link to comment
Share on other sites

  • 9 months later...

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...