Pour insérer des liens dans le CMS, nous utilisons ce code:
<a href="{{store url='home'}}">home</a>
Que fait ce mot-clé "magasin" et pourquoi est-il appelé "magasin"?
Et y a-t-il d'autres mots clés disponibles à la place du magasin ?
Est-il également possible d'écrire uniquement l'URL, sans "store"?
Si oui, quelle est la syntaxe correcte?
magento-1.7
url
cms
template-directive
MageDev
la source
la source
{{if order.customer_group_id == 1}} <p>Test Code</p> {{/if}}
Réponses:
Syntaxes Magento pour utiliser les URL dans le contenu CMS:
{{skin url='images_foldername/image_name.jpg'}}
- obtenir l'image du dossier skin du package de thème configuré{{media url='magento-image.jpg'}}
- récupérer l'image du dossier multimédia{{store url=''}}magento-page.html
- obtenir l'URL du domaine du magasin actif{{base url=''}}magento-page.html
- obtenir l'URL du domaine du site Web de base.la source
magento-page.html
devrait être à l'intérieur de la directive dans leurl='...'
oudirect_url='...'
.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 transactionnelsIl est documenté comme suit:
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()
:Aussi avec des paramètres:
Ou des paramètres de requête, par exemple pour ajouter des filtres dans la navigation en couches:
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: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 avecname="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:Limites
Vous ne pouvez pas imbriquer
{{if}}
et{{depend}}
directives:Vous ne pouvez pas utiliser de directives dans les paramètres d'autres directives. Par exemple:
ne marche pas
la source