Aller au contenu

May 10, 2012

Smarty et Prestashop : Les variables globales utiles !

Prestashop a intégré par défaut dans votre boutique, des variables smarty qui vous seront très utiles lorsque vous effectuerez un développement spécifique dans votre boutique. Et voici, pour vous, la liste de ces précieuses variables !

{$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).

warning Ces variables ne seront disponibles uniquement lorsque le fichier init.php situé à la racine sera inclu.

Publié par
Plus d'articles pour la catégorie Autres, Conseils
14 Commentaires Poster un commentaire
  1. Jul 26 2011

    Bien utile merci!

    Reply
  2. Sep 19 2011

    Dommage qu’il n’existe pas une variable encore plus générique que base_dir

    Nous avons une boutique dans un sous répertoire /tienda/ et c’est un peu la merde pour s’y retrouver ;-) quand on met des images.
    (http://www.cavitacionshop.com/tienda/)

    En tout cas l’article est intéressant, merci.

    Reply
    • eMizZ
      Sep 19 2011

      Pourquoi ne pas utiliser la variable {$img_dir} ?

      Reply
      • Sep 20 2011

        Pour la simple et bonne raison que certaines images appartiennent à la boutique, d’autres au site generaliste, que certaines images sont appellées “en dur”, d’autres par la feuille de style… enfin bref, une bonne soupe quoi.

        Reply
  3. slim
    Dec 19 2011

    svp je viens de creer un mon premier site prestashop
    et j’ai un petit souci
    j’aimerais l’orsqu’on clique sur le logo de l’entreprise ( en haut du site)
    qu’il me redirige sur un autre site
    j’ai ouver le fichier header.tpl et j’ai remplacé
    c code ci

    {$HOOK_TOP}

    par celui ci

    {$HOOK_TOP}

    Mais malheuresement ca en fonctione pas

    Reply
    • eMizZ
      Dec 19 2011

      Surement un problème de cache !

      Supprimez le contenu du dossier /tools/smarty/compil/ !

      Reply
  4. Atiampo raymond
    Jan 14 2012

    bonjour, j adore votre site mis jai une question d ‘ ordre générale je vien d’ avoir un client qui me demande de faire un clone du site autotrader.com et a demandé un cms. j’ essaie de le convaincre d accepter que je le fasse en php objet+mvc sans cms mais dans le cas ou il naccepterait pas je lui proposerait prestashop etant vous un expert vous pensez que prestashop est un bon outil pour faire ce projet je précise que les délais sont plutôt agressifs
    merci d’ avance

    Reply
    • eMizZ
      Jan 14 2012

      prestashop est le meilleur CMS E-commerce pour créer un boutique en ligne personnalisée rapidement !

      Reply
  5. Laurent
    Mar 20 2012

    Bonjour Emilien, j’ai une petite question concernant la variable {$logged} : j’aurais besoin de n’afficher le panier que pour les utilisateurs enregistrés, mais je ne sais pas comment m’y prendre…
    Si vous pouviez me donner un p’tit coup de main… :-)
    Merci,
    Laurent

    Reply
    • eMizZ
      Mar 20 2012

      C’est simple, rendez-vous dans le fichier template du module “blockcart” dans /modules/blockcart/blockcart.tpl

      Il suffit alors d’entourer tout le code du fichier par {if $logged}…………{/if}

      Reply
  6. fred
    May 6 2012

    Bonjour, je suis ne train de développer un nouveau site et j’aimerai pouvoir remplacer les nom des langues en haut de page (En Fr Es…) par les drapeaux correspondants qui se trouvent dans le rep. img/l
    Je suis sous 1.4.7
    Pouvez vous m’aider svp ?

    Reply
    • bougrara
      May 15 2012

      Bonjour Emilien , je suis en train de développer un nouveau site et j’aimerai pouvoir afficher la ( code postal et la ville ) dans le BO dans anglet commande / information transporteur . de client qui ont fait une commande .

      De façon lorsque j’accède a mon BO et je clic sur (voir une commande ) je trouve l’adresse de livraison juste au dessous de nom de transporteur utiliser qui figure déjà par défaut .

      Merci .

      Reply
  7. FredV
    May 22 2012

    Il me semble qu’il y a dans ce post pas mal de confusion entre URL et chemin physique sur le serveur. Exemple: $tpl_dir ne donne pas une URL (=utilisable dans les liens d’une page) mais le chemin absolu du répertoire “templates” situé sur votre serveur.

    Reply

Trackbacks & Pingbacks

  1. Smarty et Prestashop, comment ça marche ? | Emilien Malbranche | Analyse, Tutoriels et Modules pour votre e-commerce

Partagez votre opinion, postez un commentaire.

(requis)
(requis)

Note: Le HTML est autorisé. Votre e-mail (ne sera pas publié).

S'abonner aux commentaires


6 + = 14