Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 22.09.2022)
55510
осіб
253
літаків
218
гелікоптерів
2236
танків
4776
ББМ
1341
артилерія
169
ППО
318
РСЗВ
3630
машин
15
кораблі і катери
Теги розмітки в Мадженто – директиви CMS

Теги розмітки в Мадженто – директиви CMS

У цій статті ми детально розглянемо теги розмітки (директиви CMS) в Magento, які можна використовувати в CMS сторінках, в статичних блоках, і в шаблонах e-mail.

Що таке тег розмітки?

Тег розмітки (шаблону) – це невеликий шматок тексту, оточений подвійними фігурними дужками, який має особливе значення в Magento, наприклад, {{store url=”}}.
Ви можете використовувати теги, наприклад, в якості посилання на певну сторінку вашого магазину без введення повного шляху і доменного імені; вставляти блок всередину сторінки без редагування файлів макета або шаблонів. Теги, насправді, мають безліч варіантів застосування.

Де я можу використовувати ці теги?

Ви можете використовувати теги розмітки в CMS сторінках, в статичних блоках, і в шаблонах e-mail.

Як я можу використовувати теги шаблону?

Ви можете використовувати теги шаблонів, включивши їх в потрібному місці.
Для прикладу розглянемо випадок, коли ви хочете розмістити якусь картинку на головній сторінці вашого магазину (для керування вмістом головної сторінки, перейдемо в адмінпанелі CMS > Управління сторінками, і виберемо “Головна сторінка” для редагування.) Щоб вставити картинку ми можемо використовувати стандартний тег HTML , із зазначенням повного шляху до зображення:

<img src="http://www.site.com/skin/frontend/default/default/images/media/about_kompany.jpg" alt="" />

а можемо замість цього довгого коду, використовувати тег розмітки шаблону, який значно компактний:

<img src="{{skin url='images/media/about_kompany.jpg'}}" alt="" />

Іншими словами, система «підставить» замість тексту (директиви) skin url шлях до папки оформлення (skin) активного шаблону.

Які теги я можу використовувати?

Розглянемо варіанти використання деяких тегів:

{{block id='block_id'}}

 

Цей тег вставляє статичний блок, який має ідентифікатор “block_id“. (Статичні блоки створюються і управляються через меню CMS > Статичні блоки (Static Blocks) в адмінці).

Наприклад:

{{block id='footer_links'}}

 

Цей код вставить статичний блок “Посилання футера”.

 

{{htmlescape var='' allowed_tags=''}}

Цей тег буде ігнорувати всі HTML-теги в значеннях атрибуту var.
Приклад:

{{htmlescape var='<a href="javascript:alert(1);">Привіт!</a>'}}

 

Тобто цей код виведе рядок <a href="javascript:alert(1);">Привіт!</a> , який браузер не буде інтерпретувати (обробляти код).

 

{{media url=”}}

Цей тег вставляє повний URL до папки з медіа-файлами, наприклад, http://www.site.com/media/.
Приклад: {{media url='catalog/product/a/iphone5.jpg'}}

Цей тег виведе наступну адресу: http://www.site.com/media/catalog/product/a/iphone5.jpg.

 

{{store url=”}}

Вставляє базовий URL магазину, тобто URL головної сторінки сайту (приклад виведення: http://www.site.com/).
Приклад: {{store url='about-magento-demo-store'}}

Цей тег буде перетворений в http://www.site.com/about-magento-demo-store/. Зверніть увагу на завершальний слеш в цьому URL; це те, що відрізняє атрибут url від атрибуту direct_url.
Більше того, цей атрибут URL-адреси використовується для динамічно виведених посилань, наприклад, зі змінними, ідентифікаторами сесії в адресному рядку.
Якщо вам потрібне просте, статичне посилання, краще використовувати тег direct_url, що описаний нижче.

 

{{store direct_url=”}}

Цей тег використовується для виведення прямого статичного посилання. Приклад: якщо ви вкажете {{store direct_url='furniture/office-table.html'}} , цей тег (директива) перетворюється на http://www.site.com/furniture/office-table.html

 

Як тег розмітки шаблону (директива) працює?

Коли Magento зустрічає тег розмітки, він використовує цю директиву для заповнення масиву з трьох елементів.

  • Першим елементом є весь тег, укладений у фігурні дужки.
  • Другим елементом є ключове слово, яке слідує відразу після відкриття фігурних дужок (наприклад, store)
  • Третім елементом є поєднання «ключове слово = значення» (наприклад, url=’furniture/office-table.html’).

Magento приводить масив до методу класу Mage_Core_Model_Email_Template_Filter. Ім’я методу залежить від ключового слова в тегові: якщо ключове слово store, буде викликаний метод storeDirective.
Потім метод повертає певне значення. Це значення буде «підставлено» замість тега розмітки і виведено в користувальницькій частині сайту.

Основні теги розмітки (директиви) та їх параметри:

 

skinDirective
Опис директиви: Використовується для отримання шляху до папки оформлення теми за замовчуванням
Приклад: {{skin url='images/myimage.jpg'}}

Синонім (відповідність): Mage::getDesign()->getSkinUrl($params['url'], $params)

Параметри:

  • url = порожній, або відносний шлях до файлу
  • _theme = альтернативна тема, якщо файл не знайдено (приклад: _theme=’blank’)
  • _package = альтернативний пакет тем
  • _area = альтернативна мережа (frontend,adminhtml)

 

storeDirective
Опис директиви: Використовується для створення шляхів і користувальницьких URL-адрес
Приклад: {{store url='customer/account' _query_a='5'}}

Синонім: Mage::getUrl($params['url'], $params);

Параметри:

  • url = основне посилання сайту (BaseUrl)
  • direct_url = прямий шлях, який додається до основного посилання (приклад: furniture/office-table.html)
  • _query_PARAMNAME = додає параметр до запиту, наприклад _query_a=’5′ додає a=5 до URL
  • _fragment = додає фрагмент до посилання, наприклад, #comment

 

blockDirective
Опис директиви: Виводить статичний блок CMS, або будь-який блок певного типу
Приклад: {{block id='static_block_code'}}  – завантажує статичний блок з ідентифікатором static_block_code

{{block type='core/template' template='custom/custom.phtml'}}   – виводить блок типу core/template та який визначений файлом-шаблоном custom.phtml

Синонім:

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId('static_block_code')->toHtml();
Mage::app()->getLayout()->createBlock('core/template')->setTemplate('custom/custom.phtml')->toHtml();

 

Параметри:

  • id = код статичного блоку; якщо id встановлений – тип блоку завжди буде cms/block
  • type = тип блоку

 

widgetDirective
Опис директиви: Виводить певний віджет. Magento віджети автоматично вставляють ці коди, для користувацького налаштування краще використовувати block коди.
Приклад:

{{widget type='catalog/product_widget_new' products_count='9' template='catalog/product/widget/new/content/new_list.phtml'}}

Синонім:

Mage::app()->getLayout()->createBlock('catalog/product_widget_new', null, array('products_count’=>9, 'template'=>'catalog/product/widget/new/content/new_list.phtml'))->toHtml();

Параметри:

  • type = тип віджета
  • name = визначає, що ім’я блоку має бути в макеті; ймовірно потрібно тільки якщо більш ніж один віджет використовується на тій же сторінці
  • Будь додатковий параметр за умови, що він буде переданий об’єкту віджета.

 

customvarDirective

Опис директиви: Виводить користувальницькі змінні HTML, які визначені в адмінці за адресою System -> Custom Variables (Система -> Користувальницькі змінні). Можуть бути легко додані через редактор. Таким чином, ця директива дозволяє використовувати свої власні змінні.
Приклад: {{customvar code='my_custom_var'}}

Синонім:

Mage::getModel('core/variable')->loadByCode('my_custom_var')->getValue();

 

Параметри:

  • code = користувальницький код змінної.

 

 

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься.