Leçon 6: Créer ses propres constantes dans prestashop
Pour une question d’organisation, il peut être très pratique de définir ses propres constantes dans prestashop, ces variables pourront être utilisées dans l’ensemble du site après avoir été déclarés.
Cette manipulation est plutôt simple, il faut modifier le fichier “defines.inc.php” situé dans le dossier “config” à la racine de votre boutique.
Ce fichier contient beaucoup de définitions de variables, on le remarque avec la fonction “define()”
Comment marche cette fonction ?
Elle comporte deux paramètre, le premier est le nom de la variable, le seconde sera sa valeur.
define('_NOM_DE_LA_VARIABLE_', 'VALEUR'); |
Vous pouvez maintenant ajouter à votre guise, des constantes dans prestashop !
Exemple :
define('_MON_BLOG_', 'www.emilienmalbranche.fr'); |
Une question ? Postez un commentaire !
Et si par exemple, je souhaites accéder à mon fichier img de mon thème je fais comment ?
Je m’explique :
je suis par exemple dans le dossier modules/blockcart à l’intérieur du fichier ajax-cart.js et je souhaites afficher une image qui se trouve dans le dossier img de mon thème. Je fais comment?
J’ai vu que je pouvais utiliser baseDir mais je remonte trop haut et j’ai pas spécialement envie d’écrire le reste à la main puisqu’en cas de changement de thème, j’aurai un petit souci
Une idée?
En tout cas, bien sympa ce petit tips
Bonjour,
Il suffit d’utiliser la variable {$img_dir} , elle pointe vers le dossier img du thème activé !
En espérant t’avoir aidé
Si je dis pas de bêtises, les accolades c’est pour smarty (fichier .tpl) alors que la je me trouve dans un fichier .js donc ça ne marche pas
Je vais finalement opter pour une variable contenant le chemin que j’aurai juste à modifier au cas où! Pas ouf mais bon….
Et en parlant de variables globales, saurais-tu où se situe $js_files (variable que l’on retrouve dans le header.tpl afin de charger certains js)
Merci pour cet article, comment fait on ensuite pour appeller cette constante dans un tpl ?
Quelle est la bonne façon de l’écrire ?
Avant de l’utiliser dans un .tpl, il faut l’assigner à smarty. dans le fichier /classes/FrontController.php par exemple.