Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 15.03.2024)
428420
солдат
347
самолетов
325
вертолетов
6758
танков
12949
ББМ
10580
артиллерия
717
ПВО
1017
РСЗО
13993
машин
26
корабли и катера
Структурные блоки и блоки содержимого в Мадженто – ч.2
Опубликовано

Структурные блоки и блоки содержимого в Мадженто – ч.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) и ваш интернет-магазин будет уникальным и неповторимым!

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *