Чтобы вставить ссылки в CMS, мы используем этот код:
<a href="{{store url='home'}}">home</a>
Что делает это ключевое слово "store" и почему оно называется "store"?
И есть ли другие ключевые слова, доступные вместо магазина ?
Можно ли написать только URL, без «магазина»?
Если да, какой правильный синтаксис?
magento-1.7
url
cms
template-directive
MageDev
источник
источник
{{if order.customer_group_id == 1}} <p>Test Code</p> {{/if}}
Ответы:
Синтаксис Magento для использования URL в контенте CMS:
{{skin url='images_foldername/image_name.jpg'}}
- получить изображение из папки скина настроенного пакета темы{{media url='magento-image.jpg'}}
- получить изображение из медиа папки{{store url=''}}magento-page.html
- получить URL домена рабочего магазина{{base url=''}}magento-page.html
- получить URL домена базового сайта.источник
magento-page.html
должно быть внутри директивы вurl='...'
илиdirect_url='...'
.Как объясняется в разделе Где находится код для "{{store url =" example / example "}}
{{store}}
является одной из так называемых шаблонных директив, используемых CMS и транзакционными электронными письмамиЭто задокументировано следующим образом:
Таким образом, «store» - это сокращение от «store url» и относится к URL-адресу в магазине, что означает ссылку в магазине . Он автоматически добавляет правильный базовый URL (важно для шаблонов электронной почты, где вы не можете использовать относительные ссылки) и разрешает некоторые другие параметры (см. Ниже)
Как это использовать
Вы можете пройти его по маршруту , как если бы это было с
Mage::getUrl()
:Также с параметрами:
Или параметры запроса, например, чтобы добавить фильтры в многоуровневую навигацию:
Если вы хотите указать произвольный URL вместо этого, используйте
direct_url
, таким образом, Magento только добавляет базовый URL и оставляет данный URL таким, какой он есть:Другие URL-директивы
{{skin url="..."}}
для URL-адресов к изображениям, JavaScript или CSS в текущей теме, используя механизм отката темы.{{media url="..."}}
для URL - адресов для изображений или других средств массовой информации в каталоге медиа ( по умолчанию:/media/
){{protocol url="www.domain.com/"}}
для произвольных внешних URL, но с текущим протоколом (http или https){{protocol http="http://url" https="https://url"}
показывать разные URL в зависимости от текущего протокола{{protocol}}
просто вывести «https» или «http»Другие не-URL директивы
{{config path="..."}}
выводит значение конфигурации{{customvar code="..."}}
выводит пользовательскую переменную (поддерживается глобально в System> Custom Variables ){{htmlescape var="..." allowed_tags="..."}}
преобразует специальные символы в тексте, заданном в «var», в объекты HTML. Необязательный параметр «allow_tags» может содержать разделенный запятыми список тегов, которые должны быть сохранены (например, «h1, h2, strong, em»). Это наиболее полезно в шаблонах электронной почты, потому что вы можете передать переменную шаблона: вот так:{{htmlescape var=$customer.firstname}}
{{inlinecss file="..."}}
загружает CSS из файла и добавляет его в виде встроенной таблицы стилей. Полезно для писем.{{block type="..." id="..." output="..." ...}}
создает и отображает любой тип блока Magento{{layout area="..." handle="..." ...}}
загружает весь дескриптор макета (определенный в файлах XML макета) и отображает его первый блок. Дополнительные параметры передаются всем блокам.Обратите внимание, что пользовательские переменные и блоки должны быть внесены в белый список, прежде чем их можно будет использовать. См .: APPSEC-1057 Как добавить переменные или блоки в таблицы белого списка.
Другие не-URL директивы (только шаблоны электронной почты)
{{var X}}
,{{var X.y()}}
выходная переменная шаблона X / результат метода y () для переменной X. См. Template vars / placeholder{{depend X}}...{{/depend}}
выводите содержимое между ними, только если переменная X имеет значение true-ish (обратите внимание, что здесь нельзя использовать логические выражения, только переменные или методы для переменных. То{{if X}}...{{else}}...{{/if}}
же самое, но с необязательным блоком "else".{{template config_path="..."}}
включите другой шаблон электронной почты, основанный на значении конфигурации, например, «design / email / header». По умолчанию шаблоны электронной почты «верхний и нижний колонтитулы» включены во все остальные шаблоны электронной почты.{{include template="..."}}
включает в себя другой шаблон. Этот шаблон наследует все переменные шаблона от текущей, и вы можете передавать дополнительные параметры с помощьюname="value"
.Переменные в параметрах
Все, что может быть обработано
{{var}}
(см. Выше), также может быть использовано в качестве параметра для другой директивы со следующим синтаксисом:Ограничения
Вы не можете вложить
{{if}}
и{{depend}}
директивы:Вы не можете использовать директивы в параметрах других директив. Например:
не работает
источник