SMARTY est un système de template (html) utilisé dans Prestashop. Il sert à afficher les pages et leur contenu. Bien que la migration vers Twig un système de template plus moderne, a été initié depuis de nombreuses versions, il reste encore de nombreux templates en SMARTY, surtout en front office. Selon les pages on peut être amené à afficher des informations concernant la boutique, le client ou autre. Pour cela Prestashop met à disposition un ensemble variables prédéfinies qui vous serviront soit pour l’affichage soit pour faire des tests dans les templates.
Variable SMARTY concernant la page courante {page}
{$page.title} | titre de la page |
{$page.canonical} | url canonique de la page |
{$page.page_name} | nom interne Prestashop du type de page (index, product, cms, category…) |
{$page.meta} | tableau des meta données de la page |
{$page.meta.title} | meta title de la page |
{$page.meta.description} | meta description de la page |
{$page.meta.keywords} | meta mots clefs de la page |
{$page.meta.robots} | meta indexation de la page par les robots (index, noindex) |
{$page.meta.body_classes} | tableau des classes css actives et inactives de la balise <body> |
{$page.meta.admin_notifications} | Semble ne pas être utilisé |
Prestashop 8 | |
{$page.password-policy} | Tableau des messages pour indiquer le niveau de complexité du mot de passe |
Variable SMARTY concernant la boutique {shop}
{$shop.id} | Id de la boutique |
{$shop.name} | nom de la boutique |
{$shop.email} | email générique à la boutique |
{$shop.logo} | url du logo de la boutique |
{$shop.logo_details.src} | url du logo de la boutique |
{$shop.logo_details.width} | Largeur du logo |
{$shop.logo_details.height} | Hauteur du logo |
{$shop.stores_icon} | url de l’icône de la boutique |
{$shop.favicon} | url du favicon de la boutique |
{$shop.address.formatted} | Nom et adresse de votre boutique formaté en html (<br> pour les retours à la ligne) |
{$shop.address.address1} | 1ère ligne d’adresse de la boutique |
{$shop.address.address2} | 2ième ligne d’adresse de la boutique |
{$shop.address.postcode} | code postal de la boutique |
{$shop.address.city} | Ville de la boutique |
{$shop.address.state} | Etat/province de la boutique |
{$shop..address.country} | Pays de la boutique |
{$shop.phone} | Téléphone principal de la boutique |
{$shop.fax} | Fax de la boutique |
Variable SMARTY concernant la langue {language}
{$language.name} | nom de la langue, exemple Français (French) |
{$language.iso_code} | code ISO de la langue courante, exemple fr |
{$language.locale} | code de la langue courante, exemple fr-FR |
{$language.language_code} | code de la langue courante, exemple fr |
{$language.is_rtl} | Lecture de la langue de droite à gauche |
{$language.date_format_lite} | Format court d’affichage de la date |
{$language.date_format_full} | Format long d’affichage de la date |
{$language.id} | Id de la langue courante |
Variable SMARTY concernant le client {customer}
{$customer.lastname} | nom du client |
{$customer.firstname} | prénom du client |
{$customer.email} | email du client |
{$customer.last_passwd_gen} | Date de modification du mot de passe |
{$customer.birthday} | date de naissance du client |
{$customer.newsletter} | Inscrit à la newsletter |
{$customer.newsletter_date_add} | Date inscription newsletter |
{$customer.ip_registration_newsletter} | adresse IP d’enregistrement à la newsletter |
{$customer.optin} | Recevoir les offres partenaires |
{$customer.website} | url du site du client |
{$customer.company} | Nom de l’entreprise du client |
{$customer.siret} | N° SIRET du client |
{$customer.ape} | N° APE du client |
{$customer.is_guest} | Compte invité |
{$customer.id_shop} | Id de la boutique |
{$customer.id_default_group} | Id du groupe client par défaut du client |
{$customer.date_add} | Date création du compte |
{$customer.date_upd} | Date modification du compte |
{$customer.id} | Id du client |
{$customer.is_logged} | Client connecté |
{$customer.gender} | Tableau sur le genre du client |
{$customer.gender.name[$customer.gender.type]} | String du genre Mr., Mme |
{$customer.addresses} | Tableau des adresses du client, soit vous connaissez l’id de l’adresse pour y accéder soit vous devrez parcourir le tableau avec un foreach |
{$customer.addresses[7].id}{$customer.addresses[7].alias}{$customer.addresses[7].firstname}{$customer.addresses[7].lastname}{$customer.addresses[7].company}{$customer.addresses[7].address1}{$customer.addresses[7].address2}{$customer.addresses[7].postcode}{$customer.addresses[7].city}{$customer.addresses[7].id_country}{$customer.addresses[7].country}{$customer.addresses[7].country_iso}{$customer.addresses[7].phone}{$customer.addresses[7].phone_mobile}{$customer.addresses[7].vat_number}{$customer.addresses[7].dni}{$customer.addresses[7].formatted} | Exemple avec id 7 |
Variable SMARTY concernant la monnaie {currency}
{$currency.name} | nom de la monnaie courante (Euro) |
{$currency.iso_code} | code ISO de la monnaie courante, ex. EUR |
{$currency.iso_code_num} | code ISO numérique de la monnaie, ex. 978 |
{$currency.sign} | Symbole de la monnaie ex. € |
{$currency.id} | Id de la monnaie |
Variable SMARTY concernant le panier {cart}
{$cart.products} | Tableau des produits (objets) |
{$cart.totals} | Tableau du total du panier |
{$cart.totals.total} | Tableau du total affiché |
{$cart.totals.total.label} | Libellé (Total TTC, Total HT…) |
{$cart.totals.total.amount} | Montant total du panier (float) |
{$cart.totals.total.value} | String montant total ex. 12,50 € |
{$cart.totals.total_including_tax} | Tableau du total TTC |
{$cart.totals.total_including_tax.label} | Libellé ex. Total TTC |
{$cart.totals.total_including_tax.amount} | Montant total TTC du panier |
{$cart.totals.total_including_tax.value} | String montant total TTC ex. 12,50 € |
{$cart.totals.total_excluding_tax} | Tableau du total HT |
{$cart.totals.total_excluding_tax.label} | Libellé ex. Total HT |
{$cart.totals.total_excluding_tax.amount} | Montant total HT du panier |
{$cart.totals.total_excluding_tax.value} | String montant total HT ex. 12,50 € |
{$cart.products_count} | Nombre de produits dans le panier |
{$cart.id_address_delivery} | Id adresse de livraison |
{$cart.id_address_invoice} | Id adresse de facturation |
{$cart.id_address_delivery} | Id adresse de livraison |
Variable SMARTY concernant la configuration de Prestashop {configuration}
{$configuration.display_taxes_label} | Afficher le libellé de taxe TTC ou HT |
{$configuration.display_prices_tax_incl} | Afficher lex prix TTC |
{$configuration.taxes_enabled} | TVA active ou pas |
{$configuration.is_b2b} | Mode B2B actif ou pas |
{$configuration.is_catalog} | Mode catalogue actif ou pas |
{$configuration.show_prices} | Afficher les prix ou pas |
Variable SMARTY concernant le chemin de fer {breadcrumb}
{$breadcrumb.count} | Nombre d’items dans le tableau |
{$breadcrumb.links} | Tableau des items du chemin de fer |
{$breadcrumb.links[0].title} | String de l’item |
{$breadcrumb.links[0].url} | url de l’item |
Variable SMARTY concernant les urls {urls}
Il y en a beaucoup plus, nous avons listé les plus utilisées.
{$urls.base_url} | Page d’accueil |
{$urls.current_url} | Page courante |
{$urls.shop_domain_url} | Url de base de la boutique sans la langue |
{$urls.img_ps_url} | Dossier imgages |
{$urls.img_cat_url | Dossier images des catégories |
{$urls.img_lang_url} | Dossier images des langues |
{$urls.img_prod_url} | Dossier images des produits |
{$urls.img_manu_url} | Dossier images des fabricants |
{$urls.img_sup_url} | Dossier images des fournisseurs |
{$urls.img_ship_url} | Dossier images des transporteurs |
{$urls.img_store_url} | |
{$urls.img_col_url} | Dossier images des couleurs |
{$urls.img_url} | Dossier images du thème |
{$urls.css_url} | Dossier css du thème |
{$urls.js_url} | Dossier js du thème |
{$urls.pic_url} | Dossier des upload |
{$urls.theme_assets} | Dossier assets du thème |
{$urls.pages} | Url des pages |
{$urls.pages.address} | Url création adresse |
{$urls.pages.addresses} | Url liste des adresses client |
{$urls.pages.authentication | url connexion client |
{$urls.pages.cart | url du panier |
{$urls.pages.category} | url des catégories |
{$urls.pages.cms} | url pages cms |
{$urls.pages.contact} | url page contact |
{$urls.pages.discount} | url page promotions |
{$urls.pages.guest_tracking} | url suivi des commandes |
{$urls.pages.register} | url création de compte client |
{$urls.pages.product} | url page produit |
{$urls.pages.order_login} | url connexion process commande |
{$urls.actions.logout} | url déconnexion client |
… | |
Variable SMARTY de l’objet product dans le template miniatures/product.tpl {$product}
Il y en a beaucoup plus concernant le produit, nous avons listé les plus utilisées.
{$product.id_manufacturer} | Id de la marque |
{$product.id_supplier} | Id du fournisseur |
{$product.id_category_default} | Id de la catégorie par défaut |
{$product.ean13} | Code EAN13 |
{$product.isbn | Code ISBN |
{$product.upc} | Code UPC |
{$product.mpn} | Code MPN |
{$product.ecotax} | Montant écotaxe (float) |
{$product.quantity} | Quantité de stock disponible |
{$product.minimal_quantity} | Quantité minimale de commande |
{$product.price} | Prix affiché (22,94 €) |
{$product.reference} | Code référence produit |
{$product.width} | Largeur (float) |
{$product.height} | Hauteur (float) |
{$product.weight} | Poids (float) |
{$product.active} | Produit actif 1/0 |
{$product.available_for_order} | Disponible à la vente 1/0 |
{$product.condition} | Type de conditionnement |
{$product.show_price} | Affiche le prix 1/0 |
{$product.is_virtual} | Produit virtuel 1/0 |
{$product.description | Description longue |
{$product.description_short | Description courte |
{$product.name} | Nom du produit |
{$product.new} | Nouveauté 1/0 |
{$product.id_product_attribute} | Id de l’attribut de combinaison |
{$product.manufacturer_name } | Nom de la marque |
{$product.category_default} | Nom de la catégorie défault |
{$product.link} | url du produit |
{$product.pack } | Indique si pack de produits 1/0 |
{$product.rate} | Taux de TVA (float) |
{$product.images[]} | Tableaux des images du produit |
{$product.price_tax_exc} | Prix HT (float) |
{$product.price_amount} | Prix TTC (float) |
{$product.price_without_reduction} | Prix TTC avant réduction (float) |
{$product.price_without_reduction_without_tax} | Prix HT avant réduction (float) |
{$product.title} | Nom du produit (titre) |
… | |