|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
ericstamant Smarty n00b
Joined: 14 Feb 2012 Posts: 2
|
Posted: Tue Feb 14, 2012 3:03 pm Post subject: Récupérer le contenue d'une variable du fichier PHP |
|
|
Bonjour,
Ma demande me semble très simple mais pourtant, je n'arrive pas à trouver de solution, après plusieurs jours de recherche. Si se ne serrait que de PHP, je l'aurais trouvé, mais c'est la première fois que j'ai à utiliser Smarty.
J'utilise WHMCS pour la gestion de mes clients et je souhaite intégrer complètement le script à mon site web. Le seul petit problème, c'est que WHMCS n'ont pas intégrer de solution pour attribuer une meta description unique à chaque page de mon site.
Voici comment ça fonctionne en gros :
Il y a un seul fichier "header.tpl", un peu comme n'importe lequel CMS.
Ensuite, chaque contenu de chaque page se trouve dans un fichier .tpl, exemple : homepage.tpl.
Chaque page template .tpl est associé à un fichier .PHP dans lequel se trouve différente variable, exemple : $pagetitle.
Le fichier header.tpl récupère la variable associé à la bonne page comme cela {$pagetitle} dans le "title" de la page. De cette façon, chaque page à un title différent.
Maintenant, je souhaite faire la même chose pour un meta description. Mais aucune solution ne fonctionne.
Voici se que j'ai tenté de faire :
Fichier index.PHP :
Code: | $pagedescription = 'Description de la page accueil...'; |
Fichier header.tpl :
Code: | <meta name="description" content="{$pagedescription}" /> |
Mais comme vous vous en doutez probablement! Ça ne fonctionne pas du tout. Voici quelques autres alternative, qui ne fonctionne pas plus :
.PHP :
Code: | $pagedescription = "This is my test page description";
$smarty->assign('pagedescription', $pagedescription); |
header.tpl
Code: | <meta name="description" content="{$pagedescription}" /> |
Résultat : donne une erreur dans ma page, à la ligne de $smarty->assign
Autre alternative :
header.tpl :
Code: | <meta name="description" content="{$pagedescription}" /> |
homepage.tpl :
Code: | {php}
$pagedescription = "This is my test page description";
$smarty->assign('pagedescription', $pagedescription);
{/php} |
N'affiche aucune description.
header.tpl :
Code: | <meta name="description" content="{php} echo $pagedescription; {/php}" /> |
homepage.tpl :
Code: | {php}
$pagedescription = "This is my test page description";
{/php} |
Cela n'affiche encore rien. Ce qui est dû au fait qu'il y a un echo de la variable avant qu'elle soit déclaré. Si je déclare la variable dans mon header.tpl avant de faire un echo dans la balise title, ça fonctionne. Mais c'est tout à fait illogique. Ce n'est pas se que je souhaite.
Si quelqu'un peu m'aider, je vous en serait très reconnaissant!
Merci! |
|
Back to top |
|
ericstamant Smarty n00b
Joined: 14 Feb 2012 Posts: 2
|
Posted: Tue Feb 14, 2012 10:03 pm Post subject: Solution |
|
|
J'ai trouvé une solution à mon problème! |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|