Um Links in das CMS einzufügen, verwenden wir diesen Code:
<a href="{{store url='home'}}">home</a>
Was macht dieses Schlüsselwort "store" und warum heißt es "store"?
Und gibt es andere Keywords anstelle des Geschäfts ?
Ist es auch möglich, nur die URL ohne "Speichern" zu schreiben?
Wenn ja, wie lautet die richtige Syntax?
magento-1.7
url
cms
template-directive
MageDev
quelle
quelle
{{if order.customer_group_id == 1}} <p>Test Code</p> {{/if}}
Antworten:
Magento-Syntax zur Verwendung von URLs in CMS-Inhalten:
{{skin url='images_foldername/image_name.jpg'}}
- Bild aus dem Skin-Ordner des konfigurierten Design- Pakets abrufen{{media url='magento-image.jpg'}}
- Bild aus Medienordner abrufen{{store url=''}}magento-page.html
- Domain-URL des Working Stores abrufen{{base url=''}}magento-page.html
- Domain-URL der Basis-Website abrufen.quelle
magento-page.html
sollte innerhalb der Richtlinie in derurl='...'
oder seindirect_url='...'
.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 werdenEs ist wie folgt dokumentiert:
"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()
:Auch mit Parametern:
Oder fragen Sie Parameter ab, um beispielsweise Filter in der geschichteten Navigation hinzuzufügen:
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: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" auszugebenAndere 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 übergebenname="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:Einschränkungen
Sie können nicht verschachteln
{{if}}
und{{depend}}
Anweisungen:Sie können keine Direktiven in Parametern anderer Direktiven verwenden. Zum Beispiel:
funktioniert nicht
quelle