Структурні блоки та блоки вмісту в Мадженто – ч.2

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

Синтаксис оновлення макету

Оновлення користувальницького макета можуть бути задіяні для сторінок категорій, сторінок товарів, і будь-яких користувальницьких CMS-сторінок, для досягнення таких результатів як:

<block> – Створення нового блоку

<reference> – Оновлення існуючого контенту

<action> – Призначення дії для блоків

<remove> – Видалення блоків

 

Будь-які зміни в макеті задіюються, коли зв’язаний об’єкт – це може бути або товар, або категорія, або CMS-сторінка, – стає активним у фронтенді інтернет-магазину.

Нестандартні інструкції по оновленню макета утворюються XML-тегами. Як і в звичайному XML, кожен тег повинен бути або самозакриваючим, або закритим, як показано в наступних прикладах:

<tag attribute="value" />
<tag attribute="value"> ... </tag>

 

<block>

Створює новий блок в поточному контексті. Вкладеність макета визначає порядок ініціалізації та розташування блоків на сторінці.

Синтаксис

Ім’я атрибута Значення
type block class path

Ідентифікатор шляху класу, який відповідає класу блоку (наприклад, cms/block).

name block name identifier

Ім’я, яке може бути використане для адреси блоку – ідентифікатор. Якщо ви створюєте новий блок з таким же ім’ям, новостворений блок замінює раніше існуючий блок.

before block name | ‘-‘

Використовується для позиціонування блоку перед блоком з ім’ям, зазначеним у значенні. Якщо використовується значення “-“, блок розташовується перед усіма іншими спорідненими блоками.

after block name | ‘-‘

Використовується для позиціонування блоку після блоку з ім’ям, вказаним у значенні. Якщо використовується значення “-“, блок розташовується після всіх інших споріднених блоків.

template template filename

Файл шаблону, який використовується для конкретного типу блоку.

as block alias

Аліас, за допомогою якого шаблон викликає блок, в якому призначено цей атрибут. Іноді обов’язково потрібно вказувати аліас (псевдонім) для конкретного типу блоку.

 

<reference>

Змінює контекст для всіх включених інструкцій раніше визначеного блоку.

Синтаксис

Ім’я атрибута Значення
name block name

Ім’я визначеного раніше блоку.

 

<action>

Використовується для доступу до API блоку, іншими словами, викликає публічні методи блоку. Він використовується для налаштування виконання певного методу при генерації блоку.

Синтаксис

Ім’я атрибута Значення
method block method name

Ім’я публічного методу блоку, який викликається під час генерації блоку.

 

<remove>

Видаляє існуючий блок з макета.

Синтаксис

Ім’я атрибута Значення
name block name

Ім’я блоку, який потрібно видалити.

 

<extend>

Ця інструкція виконує остаточні зміни в блоках, які вже є частиною макета. Кожен атрибут в інструкції <block>, за винятком імені блоку – підлягає зміні. Крім того, спеціальний батьківський атрибут може бути використаний для зміни предка блоку. Простіше кажучи, вкажіть ім’я нового батьківського блоку в інструкції <extend>, і батьківських блок, на який посилається інструкція, буде змінено в макеті.

Синтаксис

Ім’я атрибута Значення
name block name

Ім’я будь-якого блоку, який потрібно розширити (змінити).

* any other

Будь-який інший атрибут, характерний для інструкції даного <block>.

parent block name

Назва блоку, який повинен стати новим предком для певного блоку.

 

Приклади оновлення макета

Наступними типами блоків можна маніпулювати за допомогою користувальницьких інструкцій макета. Розглянемо приклади синтаксису.

Повний синтаксис

<!-- Дія може бути визначена всередині інструкцій <block> або <reference> -->
   <action method="someActionName">
      <arg1>Value 1</arg1>
      <arg2>Value 2</arg2>
      <!--   -->
      <argN>Value N</argN>
   </action>

 

Розглянемо приклад виведення CMS-блоку на сторінці

Тип блоку: cms/block

Синтаксис

Дія (action) Опис
setBlockId($blockId) Вказує ідентифікатор CMS-блоку; його вміст буде відображатися при рендерингу сторінки.

 

<reference name="content">
   <block type="cms/block" name="additional.info" as="additionalInfo">
      <action method="setBlockId"><id>additional_info</id></action>
   </block>
</reference>

 

Тип блоку: core/text

З допомогою блоку core/text ви можете виводити текст у довільній формі, безпосередньо в шаблоні.

Синтаксис

Дія (action) Опис
addText($textContent) Визначає текст, який повинен бути виведений як вміст блоку. Якщо ви використовуєте HTML-теги як частину тексту, рекомендується використовувати: <![CDATA[…]]>

 

<reference name="content">
   <block type="core/text" name="test.block">
      <action method="addText">
         <txt><![CDATA[<h2>Увага!</h2><p> Перевірте щось там</p>]]></txt>
      </action>
   </block>
</reference>

 

 

Якщо вам потрібне тонке налаштування і нестандартне відображення своєї теми (шаблону) на Мадженто – ефективно використовуйте структурні блоки у файлах макета (таких як local.xml, catalog.xml, page.xml) і ваш інтернет-магазин буде унікальним і неповторним!

 

Share
Теги: Magento

Останні пости

202ЗСУ

SebWeo щиро вітає усіх із Новим роком! Бажаємо особистих перемог, а головне, найбажанішої — швидкої… Читати далі

31/12/2022

Який подарунок можна вручити батькові на День захисника України?

У кожної української сім'ї є свої певні традиції та улюблені свята, особливо усі ми любимо… Читати далі

19/08/2022

Демокріт

Ми потребуємо не стільки допомоги друзів, а більше тієї впевненості, що ми її отримаємо Демокріт… Читати далі

21/02/2022

Майк Тайсон

Коли мені важко, я завжди нагадую собі про те, що якщо я здамся — краще… Читати далі

12/02/2022

25 корисних порад та рішень jQuery, які ви повинні знати

jQuery – це швидка і досить невелика бібліотека JavaScript. Вона спрощує створення інтерактивних та приголомшливих… Читати далі

09/02/2022

Йоганн Вольфганг фон Гете

Кожен чує тільки те, що він розуміє Йоганн Вольфганг фон Гете   Читати далі

03/02/2022