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

Перед початком роботи по зміні стандартної структури в Мадженто, важливо розуміти логіку дизайну для CMS Magento, тому рекомендуємо ознайомитися з попереднім уроком.
Схема сайту на Magento представляє із себе ієрархічне дерево структурних блоків. Деякі блоки відображаються на кожній сторінці, а інші з’являються тільки на певних сторінках. Відображенням блоків можна керувати через Оновлення макета XML в адмінпанелі. У багатьох випадках, того ж результату можна домогтися за допомогою віджету. Щоб розмістити статичний CMS блок контенту з віджетом, необхідно визначити сторінку, і розташування блоку на сторінці. Проте, в деяких випадках, все ж необхідно оновлення XML структури.

Розміщення блоку за допомогою Оновлення макета XML

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

Щоб розмістити блок в боковій колонці (сайдбарі):

Розміщення блоку за допомогою Оновлення макета XML

 

1. В Адмінменю, перейдіть CMS > Pages > Manage Content (CMS > Сторінки > Керування сторінками)
2. Відкрийте потрібну сторінку. Потім, в панелі ліворуч, виберіть вкладку Design (Дизайн).
3. У полі Layout Update XML (Оновлення макета XML), введіть код структурного блоку.

Приклад коду для додавання блоку в праву бокову колонку сайту:

<reference name="right">
<block type="cms/block" name="right.permanent.callout">
<action method="setBlockId"><block_id>vkazhit-sviy-block-id</block_id></action>
</block>
</reference>
  1. Після цього натисніть кнопку Save Page (Зберегти сторінку).

Управління порядком відображення структурних блоків

Для управління порядком відображення блоків при оновленні структури XML можна використовувати код позиціонування. Щоб розмістити блок до, або після певного блоку, скористайтеся наступними прикладами:

  • before=”-“ Розміщує блок у верхній частині сайдбара, перед іншими блоками.
  • after=”-“ Розміщує блок в нижній частині сайдбара, після інших блоків.

Приклади коду:

<block type="cms/block" before="-" name="left.permanent.callout">
<block type="cms/block" before="some-other-block" name="left.permanent.callout">
<block type="cms/block" after="-" name="left.permanent.callout">
<block type="cms/block" after="some-other-block" name="left.permanent.callout">

Стандартне розміщення структурних блоків

Стандартне розміщення структурних блоків
  • Чорним кольором позначені імена блоків
  • Блакитним кольором позначені типи блоків (шляху класів блоків)

Опис блоків

Тип блока(block type="") Опис
page/html Блок даного типу може бути тільки один на сторінці. Ім’я блоку “root”, і це один з небагатьох рутовських блоків в макеті.
page/html_head Блок даного типу може бути тільки один на сторінці. Ім’я блоку “head”, і він нащадок кореневого блоку. Цей блок не можна видаляти з макета.
page/html_notices Блок даного типу може бути тільки один на сторінці. Ім’я блоку “global_notices,” і він нащадок кореневого блоку. Якщо цей блок видалити з макета, глобальні повідомлення системи не будуть з’являтися на сторінці.
page/html_header Блок даного типу може бути тільки один на сторінці. Ім’я блоку “header”, і він нащадок кореневого блоку. Цей блок відповідає візуальному Хедеру сторінки, і містить кілька стандартних блоків. Цей блок не повинен бути видалений.
page/html_wrapper Хоча він включений в макет за замовчуванням, цей блок є застарілим, і використовується тільки для забезпечення зворотної сумісності. Не слід використовувати блоки такого типу.
page/html_breadcrumbs Блок даного типу може бути тільки один на сторінці. Ім’я цього блоку “breadcrumbs”, і він нащадок блоку Хедера. Цей блок відображає «хлібні крихти» для поточної сторінки.
page/html_footer Блок даного типу може бути тільки один на сторінці. Ім’я блоку “footer”, і він нащадок кореневого блоку (root). Блок відповідає візуальному Футеру в нижній частині сторінки, і містить кілька стандартних блоків. Цей блок не повинен бути видалений.
page/template_links Є два блоки цього типу в стандартному макеті. Блок “top.links” є нащадком блоку Хедера, і відповідає верхньому меню навігації. Блок “footer_links” є нащадком блоку Футер, і відповідає нижньому меню навігації.
page/switch Є два блоки цього типу в стандартному макеті. Блок “store_language” є нащадком блоку Хедера, і відповідає перемикачу мов у верхній частині сторінки. Блок “store_switcher” є нащадком блоку Футер, і відповідає перемикачу магазинів в нижній частині сторінки.
core/messages Є два блоки цього типу в стандартному шаблоні. Блок “global_messages” відображає загальні системні повідомлення. Блок “messages” використовується для відображення всіх інших повідомлень. Якщо ви видалите ці блоки, клієнти не зможуть бачити всі повідомлення (інформативні, попереджуючі та т.і.).
core/text_list Цей тип блоку широко використовується в Magento і служить як заповнювач для рендерингу блоків-нащадків.
core/profiler Існує тільки один екземпляр цього типу блоку на сторінці. Він використовується для внутрішнього профайлера Magento, і не повинен використовуватися для інших цілей.

 

Продовження уроку

 

View Comments

  • Я перепрошую, але теж саме на мою думку можна робити за допомогою керування вiджетами на основi статичних блокiв.
    Менi здаеться, що так набагато простiше.))

Recent Posts

History Hijacking: Чому Google карає за «зламану» кнопку Назад і як захистити сайт за допомогою CSP

Кожен власник сайту та SEO-спеціаліст веде щоденну запеклу боротьбу за утримання користувача на сторінках вебресурсу.…

19 години ago

Як вибрати дитячі бутси для футбольної секції та не помилитися з типом підошви

Футбольна секція швидко показує, наскільки взуття підходить дитині. Якщо пара ковзає, тисне або погано чіпляється…

3 дні ago

Флагманський смартфон: чому варто купити Samsung Galaxy S26 Ultra

Компанія Samsung - один із лідерів на ринку електроніки. Її смартфони вирізняються надійністю, якісними дисплеями,…

3 дні ago

Дієслово dar в іспанській мові: значення, відмінювання та особливості використання

Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…

1 тиждень ago

Ідеальне робоче місце: збираємо надійний сетап для стабільної роботи та геймінгу

Робочий простір давно перестав бути просто столом із ПК/ноутбуком. Сьогодні це повноцінна екосистема, де кожна…

2 тижні ago

Сервери VPS для побудови незалежних онлайн-систем

Коли проєкт залежить від чужих обмежень, зростають ризики простоїв, втрати доступу до даних і складнощів…

2 тижні ago