Jump to content
shewy80

php -> Assign mais affichage vide dans le tpl

Recommended Posts

Bonjour à tous

 

J'essai d'afficher une simple variable que je défini dans un premier temps en dur, pour tenter de comprendre le fonctionnement.

 

A terme mon objectif est de remplacer l'image de "Block payment logo module" par celle qui figure dans la base de données (uploader via le BO). a aujourd'hui ça ne fonctionne pas. Le lien vers les images semblent être écrit en dur dans le TPL.

 

Donc je me suis dis. Je vais faire ma requete SQL puis afficher le nom de l'image... Mais j'en suis loin !

 

Pour l'heure je tente simplement d'afficher un "Hello World".

 

Dans le fichhier PHP blockpaymentlogo.php

Dans la fonction "public function hookLeftColumn($params)

Juste avant "return $this->display(__FILE__, 'blockpaymentlogo.tpl', $this->getCacheId());"

Ligne 117

 

j'ai ajouté ces deux lignes :

$ma_variable = 'Coucou!!!';
$this->smarty->assign('ma_variableX', $ma_variable);

Puis dans le TPL blockpaymentlogo.tpl

J'ai supprimé tout ce qu'il se trouvait dans le div <div id="paiement_logo_block_left">, à savoir toutes les images.

Pour y mettre uniquement ceci :

test : {$ma_variableX}

En front, J'ai bien "test :" qui s'affiche, mais pas le contenu de la variable smarty ...

 

Je ne comprned pas pourquoi.

 

J'ai également testé des exemples trouvés ici et là qui sont censés fonctionner. Mais sans aucun succès. J'ai aussi tester l'exemple qui est fourni dans la doc prestashop.

 

 

Merci de votre aide.

 

 

 

Edited by shewy80 (see edit history)

Share this post


Link to post
Share on other sites

Un petit Up .. je n'ai tjrs pas trouvé de solution.

 

(PS : Bien évidemment le cache est désactivé et je recompile les TPL à chaque appel)

 

 

Share this post


Link to post
Share on other sites

Bonjour,

 

bien entendu ce fichier tpl n'est pas surchargé dans le template ?

Share this post


Link to post
Share on other sites

Bonjour,

Il manque le context.

Essayez :

$this->context->smarty->assign(array(
	'ma_variableX' => $ma_variable,
	'ma_variableY' => $ma_variable_y
));

Share this post


Link to post
Share on other sites

bonjour.

Toujours pareil; Seul "test" s'affiche

 

Dans le PHP j'ai mis ces lignes : 


$ma_variable = 'Coucou ';
$ma_variable_y = ' toi';

$this->context->smarty->assign(array(
	'ma_variableX' => $ma_variable,
	'ma_variableY' => $ma_variable_y
));

Dans le TPL :

test : {$ma_variableX}

:(

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More