Wie unter Wo ist der Code für "{{store url =" example / example "}} erläutert, {{store}}
ist dies eine der sogenannten Vorlagenanweisungen, die von CMS und Transaktions-E-Mails verwendet werden
Es ist wie folgt dokumentiert:
/**
* Retrieve store URL directive
* Support url and direct_url properties
*/
"Store" ist also die Abkürzung für "Store URL" und bezieht sich auf eine URL im Store, dh einen Link innerhalb des Stores . Es fügt automatisch die richtige Basis-URL hinzu (wichtig für E-Mail-Vorlagen, bei denen Sie keine relativen Links verwenden können) und löst einige andere Parameter auf (siehe unten).
Wie man es benutzt
Sie können eine Route übergeben , genau wie Sie es tun würden mit Mage::getUrl()
:
{{store url="customer/account/login"}}
Auch mit Parametern:
{{store url="catalog/product/view" id="42"}}
Oder fragen Sie Parameter ab, um beispielsweise Filter in der geschichteten Navigation hinzuzufügen:
{{store url="catalog/category/view" id="3" _query_color=red}}
=> example.com/url-to-category-3/?color=red
Wenn Sie stattdessen eine beliebige URL angeben möchten, verwenden Sie direct_url
diese Option. Auf diese Weise fügt Magento nur die Basis-URL hinzu und lässt die angegebene URL unverändert:
{{store direct_url="terms.html#delivery"}}
Andere URL-Anweisungen sind
{{skin url="..."}}
für URLs zu Bildern, JavaScript oder CSS innerhalb des aktuellen Themas mithilfe des Fallback-Mechanismus für Themen.
{{media url="..."}}
für URLs , um Bilder oder andere Medien im Medienverzeichnis (Standard: /media/
)
{{protocol url="www.domain.com/"}}
für beliebige externe URLs, jedoch mit dem aktuellen Protokoll (http oder https)
{{protocol http="http://url" https="https://url"}
Das Anzeigen verschiedener URLs hängt vom aktuellen Protokoll ab
{{protocol}}
um einfach "https" oder "http" auszugeben
Andere Nicht-URL-Anweisungen
{{config path="..."}}
gibt einen Konfigurationswert aus
{{customvar code="..."}}
gibt eine benutzerdefinierte Variable aus (global verwaltet unter System> Benutzerdefinierte Variablen )
{{htmlescape var="..." allowed_tags="..."}}
konvertiert Sonderzeichen im Text, die in "var" angegeben sind, in HTML-Entitäten. Der optionale Parameter "allow_tags" kann eine durch Kommas getrennte Liste von Tags enthalten, die intakt bleiben sollen (z. B. "h1, h2, strong, em"). Dies ist in E-Mail-Vorlagen am nützlichsten, da Sie eine Vorlagenvariable übergeben können: wie folgt:{{htmlescape var=$customer.firstname}}
{{inlinecss file="..."}}
Lädt CSS aus einer Datei und fügt es als Inline-Stylesheet hinzu. Nützlich für E-Mails.
{{block type="..." id="..." output="..." ...}}
instanziiert und rendert jeden Magento-Blocktyp
{{layout area="..." handle="..." ...}}
Lädt ein gesamtes Layout-Handle (definiert in den Layout-XML-Dateien) und rendert seinen ersten Block. Zusätzliche Parameter werden an alle Blöcke übergeben.
Beachten Sie, dass benutzerdefinierte Variablen und Blöcke in die Whitelist aufgenommen werden müssen, bevor sie verwendet werden können. Siehe:
APPSEC-1057 Hinzufügen von Variablen oder Blöcken zu den White-List-Tabellen
Andere Nicht-URL-Anweisungen (nur E-Mail-Vorlagen)
{{var X}}
, {{var X.y()}}
Ausgabevorlagenvariable X / Ergebnis der Methode y () für Variable X. Siehe Vorlagenvariablen / Platzhalter
{{depend X}}...{{/depend}}
Geben Sie den Inhalt nur dazwischen aus, wenn die Variable X wahr ist (beachten Sie, dass Sie hier keine logischen Ausdrücke verwenden können, sondern nur Variablen oder Methoden für Variablen.
{{if X}}...{{else}}...{{/if}}
Dieselbe, jedoch mit einem optionalen "else" -Block.
{{template config_path="..."}}
Fügen Sie eine weitere E-Mail-Vorlage hinzu, die auf einem Konfigurationswert basiert, z. B. "Design / E-Mail / Header". Standardmäßig sind die E-Mail-Vorlagen "Kopfzeile" und "Fußzeile" in allen anderen E-Mail-Vorlagen enthalten.
{{include template="..."}}
enthält eine andere Vorlage. Diese Vorlage erbt alle Vorlagenvariablen von der aktuellen und Sie können zusätzliche Parameter mit übergeben name="value"
.
Variablen in Parametern
Alles, was von {{var}}
(siehe oben) verarbeitet werden kann, kann auch als Parameter für eine andere Direktive mit der folgenden Syntax verwendet werden:
{{store url=$x}}
{{store url=$x.y()}}
Einschränkungen
Sie können nicht verschachteln {{if}}
und {{depend}}
Anweisungen:
{{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}}
Sie können keine Direktiven in Parametern anderer Direktiven verwenden. Zum Beispiel:
{{store url={{config path="..."}}}}
funktioniert nicht