Как создать новый макет с позициями

Этот урок проведет Вас через процесс создания нового макета материала для шаблона в компоненте ZOO.

Начнем

Макеты материала расположены в папке /media/zoo/applications/APPLICATION/templates/TEMPLATE/renderer/item/. В ней располагается три файла. Файл positions.config неприкосновенен ;-) Он содержит настройки позиций. Файл positions.xml определяет позиции, ассоциированные с макетом. Файл metadata.xml содержит метаданные макета.

Разбирая по деталям

Первым шагом здесь будет создание php файла макета материала. Давайте назовем макет demo. Исходя из этого, создадим файл /media/zoo/applications/APPLICATION/templates/TEMPLATE/renderer/item/demo.php Здесь Вы будете отображать позиции. Типичный вызов функции выглядит следующим образом: <?php if ($this->checkPosition('MY_POSITION')) : ?>
<div class="pos-my-position">
<?php echo $this->renderPosition('MY_POSITION'); ?>
</div>
<?php endif; ?>
Сначала мы проверяем наличие существующих позиций. Затем мы отображаем позиции с помощью $this->renderPosition('MY_POSITION'); В примере, указанном выше, мы отображаем позицию MY_POSITION. Чтобы создать эту позицию, мы должны подправить файл positions.xml, и включить в него следующий код. <positions layout="demo">
<position name="MY_POSITION">This is my position</position>
</positions>
Он указывает макету demo на то, что в нем должна быть позиция MY_POSITION. В конце мы добавим метаинформацию для макета. Чтобы сделать это, мы изменим файл metadata.xml,включив в него следующий код: <layout name="demo">
<name>Demo</name>
<description>This is my demo layout.</description>
</layout>
Здесь мы можем добавить имя и описание макета.

Макет элемента "Связанные статьи"

Если мы хотим привязать макет к макету свзяанных статей, мы добавим аттрибут type="related" к тегу макета. <layout name="demo" type="related">
<name>Demo</name>
<description>This is my demo RelatedItems layout.</description>
</layout>

Макет элемента "Карты GOOGLE"

Если вы хотите привязать макет к макету карт GOOGLE, мы добавим аттрибут type="googlemaps" к тегу макета. <layout name="demo" type="googlemaps">
<name>Demo</name>
<description>This is my demo GoogleMaps layout.</description>
</layout>

Макет подачи

Если вы хотите привязать макет к макету подачи материалов, мы добавим аттрибут type="submission" к тегу макета. <layout name="demo" type="submission">
<name>Demo</name> <description>This is my demo submission layout.</description>
</layout>

Макет редактирования

Если вы хотите привязать макет к макету редактирования на сайте, добавьте аттрибут type="edit" к тегу макета. <layout name="demo" type="edit">
<name>Demo</name> <description>This is my demo edit layout.</description>
</layout>

Заключение

На этом все. Вы можете изучить существующие макеты, чтобы узнать о дополнительных возможностях их создания.
  • Понедельник, 05 января 2015

Оставить комментарий

Вы комментируете как Гость.

beget