Un billet plutôt technique concernant l’intégration sous PrestaShop parce qu’il arrive bien souvent d’être confronté à ce type de problème : afficher ou non un élément en fonction d’une condition.
Pour ce faire, on va faire appel à nos connaissances smarty et plusieurs variables.
Première étape, on va télécharger PrestaShop.
Principales variables smarty dans PrestaShop
Pour rappel donc, voici une liste des principales variables de PrestaShop que l’on peut utiliser sur n’importe quelle page :
{$base_dir}
Url de votre site web, racine du site. Utile et indispensable lorsque vous insérez des liens, je déconseille fortement de mettre des liens en dur directement dans votre code mais plutôt d’utilisez cette variable et toute les autres qui suivent, car le jour où vous migrez d’hébergement ou de nom de domaine, cela pourrait vous causer beaucoup de problèmes.
{$base_dir_ssl}
Idem via le protocol https.
{$content_dir}
Url vers votre dossier racine du site, peut changer en fonction des paramètres SSL. A ne pas confondre avec {$basedir}, cette variable vous donne l’Url complète jusqu’au dossier racine.
{$img_ps_dir}
Url vers le dossier img situé à la racine de votre boutique.
{$img_dir}
Url vers le dossier img de votre thème.
{$css_dir}
Url vers le dossier css de votre thème.
{$js_dir}
Url vers le dossier js situé à la racine de votre boutique.
{$tpl_dir}
Url vers votre dossier thème.
{$modules_dir}
Url vers le dossier modules. Utilisée principalement dans le code des modules.
{$mail_dir}
Url vers le dossier mail.
{$lang_iso}
Code ISO du language courant.
{$come_from}
Url absolue de la page précédente.
{$shop_name}
Nom de votre boutique.
{$cart_qties}
Nombre total de produits dans votre panier.
{$cart}
Contenu de votre panier sous forme de tableau.
{$currencies}
Liste des devises disponibles sous forme de tableau, retrouvez la liste via ce code {foreach from=$currencies item=c}{$c.name}{/foreach}
{$id_currency_cookie}
Identifiant de la devise actuelle.
{$languages}
Liste des langages disponibles dans la boutique sous forme de tableau, retrouvez la liste via ce code :{foreach from=$languages item=c}{$c.name}{/foreach}
{$logged}
Permet de vérifier si le client est connecté, utile pour afficher des éléments uniquement aux visiteurs enregistrés. (ex : {if $logged}Vous êtes connecté{/if}
{$page_name}
Nom de la page actuelle (ex: index)
{$customerName}
Nom et prénom du client actuellement connecté.
{$priceDisplay}
Paramètre actuel de l’affichage des prix (identifiant).
Affichage d’un élément soumis à condition
Dans le même principe, on peut utiliser d’autres variables smarty dans PrestaShop pour filtrer l’affichage de certains éléments notamment.
Exemple 1 : afficher un texte seulement sur la catégorie ayant l’identifiant numéro 3
Exemple 2 : afficher un texte seulement sur les catégories de niveau 2
Les possibilités sont énormes d’autant que les variables sont nombreuses et peuvent être affichées en insérant le bout de code {debug} dans le fichier .tpl en question. En effet, par défaut les variables de catégorie présentées ci-dessus ne sont pas utilisables sur le fichier product.tpl etc.
Un petit tour sur la documentation smarty ne sera qu’un plus pour vous perfectionner et aussi combiner les conditions d’application des variables, voir la documentation smarty.
Vous avez toutes les clés en mains pour franchir les questions d’intégrations fréquentes dans PrestaShop.
