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.
- Variables smarty {page}
- Variables smarty {shop}
- Variables smarty {language}
- Variables smarty {customer}
- Variables smarty {currency}
- Variables smarty {cart}
- Variables smarty {configuration}
- Variables smarty {breadcrumb}
- Variables smarty {urls}
- Variables smarty {product}
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) |
| {$product.attachments} {$product.attachments[0].id_product} {$product.attachments[0].id_attachment} {$product.attachments[0].file} {$product.attachments[0].file_name} {$product.attachments[0].file_size} {$product.attachments[0].mime} {$product.attachments[0].id_lang} {$product.attachments[0].name} {$product.attachments[0].description} {$product.attachments[0].file_size_formatted} | Documents attachés (tableau) « id_product » « id_attachment » « file » « file_name » « file_size » « mime » « id_lang » « name » « description » « file_size_formatted » |
| … |
Si vous avez aimé ou trouvé pratique ce tutoriel, vous aimerez surement notre tutoriel sur : Les contantes de Perstashop 1.7 et 8
