У цій статті ми детально розглянемо теги розмітки (директиви 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 зустрічає тег розмітки, він використовує цю директиву для заповнення масиву з трьох елементів.
Magento приводить масив до методу класу Mage_Core_Model_Email_Template_Filter. Ім’я методу залежить від ключового слова в тегові: якщо ключове слово store, буде викликаний метод storeDirective.
Потім метод повертає певне значення. Це значення буде «підставлено» замість тега розмітки і виведено в користувальницькій частині сайту.
skinDirective
Опис директиви: Використовується для отримання шляху до папки оформлення теми за замовчуванням
Приклад: {{skin url='images/myimage.jpg'}}
Синонім (відповідність): Mage::getDesign()->getSkinUrl($params['url'], $params)
Параметри:
storeDirective
Опис директиви: Використовується для створення шляхів і користувальницьких URL-адрес
Приклад: {{store url='customer/account' _query_a='5'}}
Синонім: Mage::getUrl($params['url'], $params);
Параметри:
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();
Параметри:
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();
Параметри:
customvarDirective
Опис директиви: Виводить користувальницькі змінні HTML, які визначені в адмінці за адресою System -> Custom Variables (Система -> Користувальницькі змінні). Можуть бути легко додані через редактор. Таким чином, ця директива дозволяє використовувати свої власні змінні.
Приклад: {{customvar code='my_custom_var'}}
Синонім:
Mage::getModel('core/variable')->loadByCode('my_custom_var')->getValue();
Параметри:
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…
Вибір ідеального хостингу під свій сайт може бути досить заплутаною справою, особливо коли існує багато…
Щоб уникати помилок, потрібно набиратися досвіду; щоб набиратися досвіду, потрібно робити помилки Лоуренс Пітер
Коротке визначення Чорного SEO Чорне СЕО (або Чорна оптимізація) — це будь-яка практика, метою якої…