Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 22.04.2024)
460260
осіб
348
літаків
325
гелікоптерів
7236
танків
13904
ББМ
11736
артилерія
768
ППО
1046
РСЗВ
15812
машин
26
кораблі і катери
Структурні блоки та блоки вмісту в Мадженто – ч.1
Опубліковано Оновлено: 13.09.2015

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

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

Розміщення блоку за допомогою Оновлення макета 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, і не повинен використовуватися для інших цілей.

 

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

 

 

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

  1. Роман

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

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

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