Jump to content

[Résolu] PS 1.4 : Récupérer variable dans un tpl


Recommended Posts

Bonjour,

J'ai commencé une boutique (encore en dev) sous PS 1.4.2.5 et je me heurte à une difficulté pour récupérer la variable téléphone de la boutique dans le footer.tpl.

J'ai bien regardé les différentes pistes sur le forum mais je ne trouve rien qui marche concernant la 1.4.

Dans le debug, je vois bien le shop_name, mais pas les autres infos de la boutique.

Je comprends bien qu'il faut passer les variables à smarty, mais là je sèche.

Si qqn peut m'aiguiller, je suis preneur.

Merci pour votre aide

PS .1.4.2.5

Link to comment
Share on other sites

Bonjour,

Je ne sais pas si votre problème est toujours d'actualité.
Je me suis penché sur la question, je vous propose la solution que j'ai utilisé.

Dans le répertoire classes/FrontController.php localiser la fonction init() (ligne 47)
vers la ligne 182 vous avez un $smarty->assign(array(....));
Vous y retrouverez la variable shop_name dont vous parlez.

Vous avez alors 2 solution :

La 1ère (sans se soucier des problèmes de mise à jour de prestashop)
Vous pouvez ajouter sous shop_name

'shop_phone' => Configuration::get('PS_SHOP_PHONE'),


En cas de mise à jour, cette modification sera perdue.

La seconde, utiliser une surcharge
Créez un fichier FrontController.php avec la meme déclaration de classe que l'originale
class FrontController extends FrontControllerCore
dans le répertoire override/classes
Copier / Coller l'intégralité de la fonction init() et faite la modification

'shop_phone' => Configuration::get('PS_SHOP_PHONE'),


C'est cette fonction init() qui sera chargé à la place de l'originale, ce qui vous permet de ne pas perdre vos modifications
lors d'une future mise à jour.

Vous pourrez alors accéder au numéro de téléphone dans le footer via

{$shop_phone}



En espérant avoir pu vous aider.
Cordialement.

Link to comment
Share on other sites

Bonsoir,

Sparrow, je n'avais pas encore trouvé de réponse et ta solution fonctionne parfaitement. Je te remercie pour ton aide qui m'évite de placer le phone en dur.

J'ai opté pour l'override, qui me semble plus propre.

Pendant que j'y suis, je me pose une question concernant l'override. En effet, il est bien pratique de ne pas voir ses modifs écrasées par une MAJ. Mais ne passe-t on pas dans ce cas à côté des modifs et nouvelles fonctionnalités intégrées par la MAJ dans les fonctions que l'on a surchargées ?

En tout cas, merci à toi.

----------------------------------------------------------------------------------
Prestashop 1.4
Boutique, très bientôt en ligne j'espère : www.affairesdeptits.com

Link to comment
Share on other sites

Bonjour lilutor,

Bien content d'avoir pu t'aider.
Par rapport à l'override, je ne suis pas certain mais je pense que dans le cas d'une mise à jour,
ce sont bien les fichiers dans le répertoire classes qui sont modifiés donc ce que tu place dans override ne bouge pas.

Je n'ai pas encore testé mais perso, je pense que je désactiverai mes override histoire de voir et de comparer
par exemple la fonction init() qu'on a surchargé et celle d'une nouvelle version.
Et peut être ajuster si besoin...

En s'appuyant sur les changements entre les versions, je pense qu'on doit pouvoir s'y retrouver beaucoup plus facilement que par le passé.
Si quelqu'un a déjà pu tester, je suis également très intéressé....

A bientôt

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