PrestaShop propose des variables globales prédéfinies pour les modèles Smarty du front office, qui sont des éléments indispensables pour tout développeur souhaitant étendre ou personnaliser les fonctionnalités de sa boutique. Ces variables offrent un accès direct à une multitude de données dynamiques et sont essentielles pour interagir avec le système de templates de la plateforme.
Les variables sont définies dans classes/FrontController.php
, un fichier qui joue un rôle clé dans le rendu des pages et dans la mise en œuvre de la logique de présentation.
Pour approfondir votre compréhension du rôle des variables, n’hésitez pas à explorer le code source. Ci-dessous, vous trouverez la liste accompagnée d’une courte explication pour chacune :
Liste des variables
Panier utilisateur
Variable |
Description |
{$cart} |
Tableau contenant les données utiles du panier de l’utilisateur actuel. |
Devise (devise réelle du magasin)
Variable |
Description |
{$currency.id} |
ID de devise dans la base de données PrestaShop |
{$currency.name} |
Nom de la devise |
{$currency.iso_code} |
Code ISO de la devise |
{$currency.iso_code_num} |
Numéro de code ISO de la devise |
{$currency.sign} |
Symbole de la monnaie |
Variable |
Description |
{$customer.lastname} |
Nom du client |
{$customer.firstname} |
Prénom du client |
{$customer.email} |
Email client |
{$customer.last_passwd_gen} |
La dernière date à laquelle le mot de passe client a été modifié |
{$customer.birthday} |
Anniversaire du client |
{$customer.newsletter} |
Reçoit la newsletter |
{$customer.newsletter_date_add} |
Date d’inscription à la newsletter |
{$customer.ip_registration_newsletter} |
Inscription IP à la newsletter |
{$customer.optin} |
Abonnement opt-in |
{$customer.website} |
Site Web de l’utilisateur |
{$customer.company} |
Entreprise utilisatrice |
{$customer.siret} |
Utilisateur SIRET |
{$customer.ape} |
Utilisateur APE |
{$customer.outstanding_allow_amount} |
Montant autorisé impayé (option B2B) |
{$customer.max_payment_days} |
Jour de paiement maximum |
{$customer.note} |
Note protégée |
{$customer.is_guest} |
Est invité (non enregistré) |
{$customer.id_shop} |
Identifiant de la boutique utilisateur |
{$customer.id_shop_group} |
Identifiant du groupe de boutique |
{$customer.id_default_group} |
ID de groupe par défaut |
{$customer.date_add} |
Date de création de l’utilisateur |
{$customer.date_upd} |
Date de dernière modification de l’utilisateur |
{$customer.reset_password_token} |
Jeton unique pour la fonction de mot de passe oublié |
{$customer.reset_password_validity} |
Date de validité du jeton pour la fonction de mot de passe oublié |
{$customer.id} |
N ° de client |
{$customer.is_logged} |
Est connecté à la boutique |
{$customer.gender} |
Informations sur le tableau de genre |
{$customer.risk} |
Informations sur le tableau des risques |
{$customer.addresses} |
Adresse les informations du tableau |
Langages
Variable |
Description |
{$language} |
Un tableau contenant des données utiles de la langue actuelle de la boutique. |
Informations réelles sur la page
Variable |
Description |
{$page.title} |
Informations sur le titre |
{$page.canonical} |
URL conviviale |
{$page.meta} |
Tableau avec les méta-informations de la page |
{$page.page_name} |
Nom de la page interne |
{$page.body_classes} |
Informations sur la page du corps du tableau |
{$page.admin_notifications} |
Notifications de l’administrateur du groupe |
{$page.password-policy} |
Politique de mot de passe du tableau |
Variable |
Description |
{$shop.id} |
Identifiant de la boutique |
{$shop.name} |
Nom de la boutique |
{$shop.email} |
E-mail de la boutique |
{$shop.registration_number} |
Informations légales de la boutique |
{$shop.logo} |
URL du logo |
{$shop.logo_details} |
Tableau avec informations sur l’image du logo |
{$shop.stores_icon} |
URL de l’image de l’icône |
{$shop.favicon} |
URL de l’image du favicon |
{$shop.favicon_update_time} |
Horodatage du favicon |
{$shop.address} |
Tableau d’informations d’adresse complète |
{$shop.phone} |
Numéro de téléphone de la boutique |
{$shop.fax} |
Numéro de fax de la boutique |
URLs
Variable |
Description |
{$urls.base_url} |
Base d’URL du site Web |
{$urls.current_url} |
URL réelle de la page |
{$urls.shop_domain_url} |
URL de la boutique |
{$urls.img_ps_url} |
Chemin d’URL pour les images |
{$urls.img_cat_url} |
Chemin d’URL pour les images de catégorie |
{$urls.img_lang_url} |
Chemin d’URL pour les images de langue |
{$urls.img_prod_url} |
Chemin d’URL pour les images de produits |
{$urls.img_manu_url} |
Chemin d’URL pour les images du fabricant |
{$urls.img_sup_url} |
Chemin d’URL pour toutes les images « Aucune image disponible » dans différentes langues |
{$urls.img_ship_url} |
Chemin de l’URL pour l’expédition des images |
{$urls.img_store_url} |
Chemin d’URL pour les images du magasin |
{$urls.img_col_url} |
Chemin d’URL pour les images d’attributs (couleurs) |
{$urls.img_url} |
Chemin d’URL pour les ressources d’images de thème |
{$urls.css_url} |
Chemin d’URL pour les éléments de styles de thème |
{$urls.js_url} |
Chemin d’URL pour les ressources javascript du thème |
{$urls.pic_url} |
Chemin d’URL des fichiers qui seraient téléchargés par les clients pour les produits personnalisables |
{$urls.theme_assets} |
Chemin d’URL pour les éléments de thème |
{$urls.alternative_langs} |
Une variable de tableau qui contient les URL des langues alternatives de la boutique actuelle. |
{$urls.actions} |
Un tableau d’URL représentant les actions disponibles dans la boutique. |
{$urls.no_picture_image} |
Une variable tableau qui contient les dimensions et les URL de toutes les images « sans image » utilisées dans la boutique PrestaShop. |
{$urls.pages} |
Un tableau d’URL pour différentes pages de PrestaShop (Page d’accueil, Panier, Catégorie, Recherche, etc.) |
Configuration
Les valeurs définies pour la configuration de la boutique.
Variable |
Description |
{$configuration.display_taxes_label} |
Affiche le libellé des taxes à côté des prix, si activé. |
{$configuration.display_prices_tax_incl} |
Indique si les prix sont affichés taxes incluses. |
{$configuration.taxes_enabled} |
Détermine si les taxes sont appliquées sur la boutique. |
{$configuration.low_quantity_threshold} |
Seuil de quantité faible pour les alertes stock. |
{$configuration.is_b2b} |
Active le mode B2B, modifiant les fonctionnalités disponibles pour les professionnels. |
{$configuration.is_catalog} |
Si activé, le site fonctionne en mode catalogue sans possibilité d’achats. |
{$configuration.show_prices} |
Indique si les prix des produits sont affichés. |
{$configuration.opt_in} |
Active l’option pour les clients de recevoir des offres de la boutique ou de partenaires. |
{$configuration.quantity_discount} |
Active l’affichage des réductions selon la quantité sur la page produit. |
{$configuration.voucher_enabled} |
Détermine si les bons de réduction sont utilisables sur la boutique. |
{$configuration.return_enabled} |
Active la possibilité pour les clients de faire des retours de produits. |
{$configuration.number_of_days_for_return} |
Nombre de jours après réception durant lesquels les clients peuvent retourner un produit. |
{$configuration.password_policy} |
Décrit les règles de complexité pour la création de mots de passe par les clients. |
Champs obligatoire
Variable |
Description |
{$field_required} |
Tableau d’erreurs indiquant les champs obligatoires. |
Breadcrumb
Variable |
Description |
{$breadcrumb} |
Tableau contenant la description et l’URL de tous les chemins parcourus par l’utilisateur depuis la page d’accueil. |
Liens
Variable |
Description |
{$link} |
Tableau qui contient les principales informations de la Link Class, y compris le protocole URL utilisé. |
Temps
Variable |
Description |
{$time} |
Horodatage Unix actuel, représentant le nombre de secondes écoulées depuis le 1er janvier 1970. |
Jetons
Récupérez les données du jeton de boutique utilisées pour empêcher les attaques CSRF (Cross-Site Request Forgery).
Variable |
Description |
{$static_token} |
Jeton fixe utilisé pour la sécurisation des formulaires et des liens pour empêcher le CSRF. |
{$token} |
Jeton dynamique généré pour sécuriser la page PHP courante contre les attaques CSRF. |
Debug
Variable |
Description |
{$debug} |
Valeur booléenne indiquant si le mode débogage de la boutique est activé (vrai) ou désactivé (faux). |
La connaissance des variables de PrestaShop est un atout considérable pour tout développeur. En effet, comprendre et utiliser correctement ces variables permet de personnaliser l’expérience utilisateur, d’optimiser les performances de votre site et de renforcer la sécurité des transactions en ligne.
Ainsi, que ce soit pour ajuster la configuration de votre boutique, pour affiner le rendu des éléments en temps réel ou pour sécuriser les interactions via des tokens, ces variables sont les outils de base qui rendent votre site PrestaShop flexible et réactif aux besoins des clients.