Jump to content

Afficher le panier en dehors de prestashop


Recommended Posts

Bonjour

Je cherche un conseil pour réaliser quelque chose de particulier.

Mon site comportera deux parties :

- la boutique prestashop

- un site de contenu en PHP4 que j'ai fait moi-même.

Les deux étant dans des répertoires différents du même hébergement et habillés dans un design identique pour qu'on ait l'impression d'être dans le même site graphiquement.

Ce que je veux faire : j'aimerais faire apparaître dans la partie contenu, donc hors prestashop, l'équivalent du contenu du module blockuserinfo, indiquant qu'on a qq chose dans le panier avec un lien pour voir le panier de prestashop. Par exemple : Panier : 2 produits 51,0 euros.

J'ai commencé à regarder ce module, d'essayer de récupérer le contenu de la données global $cart mais ça n'a pas l'air de marcher.
Par ailleurs, dans mon site en php4, j'avais déjà une donnée $cart de mon caddie perso mais que j'ai désactivé pour essayer de récupérer celui de prestashop.

Je ne suis pas un spécialiste de la façon de coder des modules de prestashop.

Auriez-vous une idée si c'est réalisable et éventuellement comment y parvenir ?

Merci de vos conseils

Ma version : 1.3.2

Link to comment
Share on other sites

c'est quelque chose d'assez compliqué, je ne pense pas que tu puisses récupérer les données de prestashop vers ton autre site en utilisant les mêmes variables.

Comment fournies tu les infos de prestashop à ton autres sites?

Comment fonctionnes-tu pour la bdd? Tu en as 1 différente pour les deux sites?

Link to comment
Share on other sites

En fait le "deux sites" sont deux répertories différents d'un même site. La base de données est commune. Il y a les tables de prestashop plus les miennes.
Je pensais naïvement communiquer avec des données de sessions par exemple. Avec la variable $cart. Mais il est vrai que dans ce cas, je dois pouvoir faire appel à des méthodes de prestashop grace à des include pour pouvoir savoir le nombre de produits dans le panier.

Link to comment
Share on other sites

premier problème, ton site est sous PHP4 alors que la notions d'objet n'est là que depuis PHP5, donc impossible de traiter des objets sur ton site.

Tu peux par contre récupérer les informations "a la main" c'est a dire sans utiliser les classes de prestashop sur ton autre site en envoyant par exemple l'identifiant du membre et récupérer grâce à cela toutes les infos dons tu as besoin (Si quelqu'un a plus simple, qu'il n'hésite pas...)

par contre attention à comment tu passes tes données...

Link to comment
Share on other sites

Merci, c'est sympa de m'aider

Quand je disais php4, je me suis surement tromper. Je voulais dire que j'utilise le php de façon plus simple que sur prestashop. Je dois avoir le php5 car il m'est arrivé par la suite d'utiliser des classes pour des cas simples.

Je ne comprends pas ce que tu veux dire : "en envoyant par exemple l’identifiant du membre" ?

Link to comment
Share on other sites

Il semble que ca se passe évidemment par le concept de "cookie", pas par la session. J'ai vu aussi qu'il y a des enregistrements dans la base de données dans les tables ps_cart .....

Je suis sur qu'on peut avoir cette info dans le cas que je décris plus haut et que cela peut être utilisé par d'autres personnes. Mais pour cela j'ai besoin de connaître $cookie->id_cart

J'ai écrit ce bout de code pour avoir accès à $cart->nbProducts(), je me suis inspiré du contenu du blockuserinfo : Il me met un resultat à 0 alors que j'ai un produit. Evidemment, je sens bien que je n'ai rien dans $cookie. A votre avis, puis-je avoir accès à cette info via la base de données ? Ou ailleurs ?

Un petit coup de main pour entrer un peu plus dans le fonctionnement interne de prestashop serait le bien venu et très sympa.

include ('../shop/classes/Db.php');
include ('../shop/classes/Validate.php');
include ('../shop/classes/ObjectModel.php');
include ('../shop/classes/Group.php');
include ('../shop/classes/Cart.php');
global $cookie;
$cart = new Cart(intval($cookie->id_cart));
$toto=$cart->nbProducts();

Link to comment
Share on other sites

  • 2 years 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...