Jump to content

Ajouter une variable et la rendre dispo sur une page "product"


Recommended Posts

Bonjour,

 

Suivant le produit sélectionné, j'affiche une image concernant la catégorie de ce dernier, sur une colonne gauche du site(renseignée dans header.tpl, au moyen d'une condition).

 

Mon problème, est que suivant le type de page sur laquelle je suis (en l'occurence "category.php" et "product.php"), je n'ai pas accès aux même variables.

 

Ainsi, pour un site en production (comprendre avec le cache activé dans le BO), si je lance {debug} sur une page "product.php", je n'ai pas de variable me renseignant sur la catégorie du produit affiché.

 

Ma question est donc, dans quel(s) fichier(s) sont initiés les variables que l'on trouve dans un popup suite à un {debug}? Comment est-il possible d'en renseigner une nouvelle (reprenant l'id de la catégorie, dans mon cas) et faire en sorte qu'elle soit prise en compte sur une page de type "product.php"?

 

Merci!

Link to comment
Share on other sites

En fait, chaque page à son controller (généralement..).

 

category.php a comme controller CategoryController.php

product.php a comme controller ProductController.php

 

Donc effectivement, en fonction des fonctions qui sont appelés dans l'un ou dans l'autre, tu n'auras pas la même quantité d'informations ou les même informations.

 

Pour assigner une variable, il faut aller taper soit dans preProcess() qui s'effectue AVANT le header.tpl soit dans process() qui s'effectue juste après.

 

Dans la base de données de Prestashop, plus précisément dans la table "product", tu as un champ qui devrait t'intéresser : id_category_default. Avec une petite jointure, tu pourras récupérer toutes les informations sur cette catégorie ;)

 

PS: pour ce que tu veux faire, il est déconseillé de toucher au fichier "ProductController.php", mais d'utiliser l'override ! Mais je te laisse chercher pour ça.

Link to comment
Share on other sites

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