Comme expliqué dans Où est le code pour "{{store url =" example / example "}} {{store}}
est l'une des soi-disant directives de modèle utilisées par le CMS et les e-mails transactionnels
Il est documenté comme suit:
/**
* Retrieve store URL directive
* Support url and direct_url properties
*/
Ainsi, "magasin" est l'abréviation de "URL du magasin" et fait référence à une URL dans le magasin, c'est-à-dire un lien dans le magasin . Il ajoute automatiquement l'URL de base correcte (important pour les modèles d'e-mail où vous ne pouvez pas utiliser de liens relatifs) et résout certains autres paramètres (voir ci-dessous)
Comment l'utiliser
Vous pouvez lui passer un itinéraire , comme vous le feriez avec Mage::getUrl()
:
{{store url="customer/account/login"}}
Aussi avec des paramètres:
{{store url="catalog/product/view" id="42"}}
Ou des paramètres de requête, par exemple pour ajouter des filtres dans la navigation en couches:
{{store url="catalog/category/view" id="3" _query_color=red}}
=> example.com/url-to-category-3/?color=red
Si vous souhaitez spécifier une URL arbitraire à la place, utilisez direct_url
, de cette façon, Magento ajoute uniquement l'URL de base et laisse l'URL donnée telle qu'elle est:
{{store direct_url="terms.html#delivery"}}
D'autres directives URL sont
{{skin url="..."}}
pour les URL des images, JavaScript ou CSS dans le thème actuel, en utilisant le mécanisme de secours du thème.
{{media url="..."}}
pour les URL à des images ou d' autres médias dans le répertoire des médias (par défaut: /media/
)
{{protocol url="www.domain.com/"}}
pour les URL externes arbitraires , mais avec le protocole actuel (http ou https)
{{protocol http="http://url" https="https://url"}
pour afficher différentes URL dépendent du protocole actuel
{{protocol}}
pour simplement sortir "https" ou "http"
Autres directives non URL
{{config path="..."}}
affiche une valeur de configuration
{{customvar code="..."}}
génère une variable personnalisée (gérée globalement dans Système> Variables personnalisées )
{{htmlescape var="..." allowed_tags="..."}}
convertit les caractères spéciaux du texte, donnés en "var" en entités HTML. Le paramètre optionnel "allowed_tags" peut contenir une liste de balises séparées par des virgules qui doivent être conservées intactes (par exemple "h1, h2, strong, em"). Il est très utile dans les modèles d'e-mail car vous pouvez passer une variable de modèle: comme ceci:{{htmlescape var=$customer.firstname}}
{{inlinecss file="..."}}
charge CSS à partir d'un fichier et l'ajoute en tant que feuille de style en ligne. Utile pour les e-mails.
{{block type="..." id="..." output="..." ...}}
instancie et restitue tout type de bloc Magento
{{layout area="..." handle="..." ...}}
charge une poignée de mise en page entière (définie dans les fichiers XML de mise en page) et rend son premier bloc. Des paramètres supplémentaires sont transmis à tous les blocs.
Notez que les variables et blocs personnalisés doivent être ajoutés à la liste blanche avant de pouvoir être utilisés. Voir:
APPSEC-1057 Comment ajouter des variables ou des blocs aux tableaux de la liste blanche
Autres directives non URL (modèles d'e-mail uniquement)
{{var X}}
, {{var X.y()}}
sortie de la variable de modèle X / résultat de la méthode y () sur la variable X. Voir Variables de modèle / espaces réservés
{{depend X}}...{{/depend}}
afficher le contenu entre seulement si la variable X est vraie (notez que vous ne pouvez pas utiliser d'expressions logiques ici, juste des variables ou des méthodes sur les variables.
{{if X}}...{{else}}...{{/if}}
les mêmes mais avec un bloc "else" facultatif.
{{template config_path="..."}}
inclure un autre modèle d'e-mail basé sur une valeur de configuration, par exemple "design / email / header". Par défaut, les modèles d'e-mail "en-tête" et "pied de page" sont inclus dans tous les autres modèles d'e-mail.
{{include template="..."}}
inclut un autre modèle. Ce modèle héritera de toutes les variables de modèle de la variable actuelle et vous pouvez passer des paramètres supplémentaires avec name="value"
.
Variables dans les paramètres
Tout ce qui peut être traité par {{var}}
(voir ci-dessus), peut également être utilisé comme paramètre pour une autre directive, avec la syntaxe suivante:
{{store url=$x}}
{{store url=$x.y()}}
Limites
Vous ne pouvez pas imbriquer {{if}}
et {{depend}}
directives:
{{if x}}{{depend y}} THIS WORKS {{/depend}}{{/if}}
{{depend x}}{{if y}} THIS WORKS {{/if}}{{/depend}}
{{depend x}}{{depend y}} DOES NOT WORK {{/depend}}{{/depend}}
{{if x}}{{if y}} DOES NOT WORK {{/if}}{{/if}}
Vous ne pouvez pas utiliser de directives dans les paramètres d'autres directives. Par exemple:
{{store url={{config path="..."}}}}
ne marche pas