Come spiegato in Dove si trova il codice per "{{store url =" example / example "}} {{store}}
è una delle cosiddette direttive sui modelli utilizzate da CMS e dalle email transazionali
È documentato come segue:
/**
* Retrieve store URL directive
* Support url and direct_url properties
*/
Pertanto, "store" è l'abbreviazione di "store url" e si riferisce a un URL nel negozio, che significa un collegamento all'interno del negozio . Aggiunge automaticamente l'URL di base corretto (importante per i modelli di posta elettronica in cui non è possibile utilizzare collegamenti relativi) e risolve alcuni altri parametri (vedere di seguito)
Come usarlo
Puoi passargli un percorso , proprio come faresti con Mage::getUrl()
:
{{store url="customer/account/login"}}
Anche con parametri:
{{store url="catalog/product/view" id="42"}}
O parametri di query, ad esempio per aggiungere filtri nella navigazione a più livelli:
{{store url="catalog/category/view" id="3" _query_color=red}}
=> example.com/url-to-category-3/?color=red
Se invece vuoi specificare un URL arbitrario, usa direct_url
, in questo modo Magento aggiunge solo l'URL di base e lascia l'URL dato così com'è:
{{store direct_url="terms.html#delivery"}}
Altre direttive URL sono
{{skin url="..."}}
per URL di immagini, JavaScript o CSS all'interno del tema corrente, utilizzando il meccanismo di fallback del tema.
{{media url="..."}}
per gli URL di immagini o altri mezzi di comunicazione nel Annuario Media (impostazione predefinita: /media/
)
{{protocol url="www.domain.com/"}}
per URL esterni arbitrari , ma con il protocollo corrente (http o https)
{{protocol http="http://url" https="https://url"}
per mostrare URL diversi dipende dal protocollo corrente
{{protocol}}
solo per generare "https" o "http"
Altre direttive non URL
{{config path="..."}}
genera un valore di configurazione
{{customvar code="..."}}
genera una variabile personalizzata (gestita globalmente in Sistema> Variabili personalizzate )
{{htmlescape var="..." allowed_tags="..."}}
converte caratteri speciali nel testo, forniti in "var" in entità HTML. Il parametro opzionale "allow_tags" può contenere un elenco separato da virgole di tag che devono essere mantenuti intatti (ad esempio "h1, h2, strong, em"). È molto utile nei modelli di posta elettronica perché puoi passare una variabile di modello: in questo modo:{{htmlescape var=$customer.firstname}}
{{inlinecss file="..."}}
carica CSS da un file e lo aggiunge come foglio di stile incorporato. Utile per le email.
{{block type="..." id="..." output="..." ...}}
crea un'istanza e esegue il rendering di qualsiasi tipo di blocco Magento
{{layout area="..." handle="..." ...}}
carica un intero handle di layout (definito nei file XML di layout) e esegue il rendering del suo primo blocco. Parametri aggiuntivi vengono passati a tutti i blocchi.
Si noti che le variabili e i blocchi personalizzati devono essere autorizzati nella lista bianca prima di poter essere utilizzati. Vedere:
APPSEC-1057 Come aggiungere variabili o blocchi alle tabelle della white list
Altre direttive non URL (solo modelli e-mail)
{{var X}}
, {{var X.y()}}
output template variabile X / risultato del metodo y () sulla variabile X. Vedere Template vars / segnaposto
{{depend X}}...{{/depend}}
output tra i contenuti solo se la variabile X è true-ish (nota che qui non puoi usare espressioni logiche, solo variabili o metodi su variabili.
{{if X}}...{{else}}...{{/if}}
lo stesso ma con un blocco "else" opzionale.
{{template config_path="..."}}
includi un altro modello di email basato su un valore di configurazione, ad esempio "design / email / header". Per impostazione predefinita, i modelli di posta elettronica "intestazione" e "piè di pagina" sono inclusi in tutti gli altri modelli di posta elettronica.
{{include template="..."}}
include un altro modello. Questo modello erediterà tutte le variabili del modello da quella corrente e puoi passare parametri aggiuntivi con name="value"
.
Variabili nei parametri
Tutto ciò che può essere elaborato da {{var}}
(vedi sopra), può anche essere usato come parametro per un'altra direttiva, con la seguente sintassi:
{{store url=$x}}
{{store url=$x.y()}}
limitazioni
Non è possibile nidificare {{if}}
e {{depend}}
direttive:
{{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}}
Non è possibile utilizzare le direttive nei parametri di altre direttive. Per esempio:
{{store url={{config path="..."}}}}
non funziona