Как создать новый макет модуля ZOO

Этот урок покажет Вам процесс создания  нового макета модуля ZOO версии 2.0. Урок показан на примере модуля материалов ZOO.

Начнем

Все файлы модуля ZOO обычно располагаются по пути /modules/MODULE/.  Для модуля материалов ZOO этот путь должен выглядеть так /modules/mod_zooitem/. В папке /tmpl/ расположены все файлы темы. Папка /renderer/item/ содержит все файлы макета.

Добавление новой позиции к макету модуля материалов ZOO

Если Вы хотите настроить модуль материалов и добавить новую позицию, перейдите в папку modules/mod_zooitem/renderer/item и откройте с помощью текстового редактора файл positions.xml: <?xml version="1.0" encoding="utf-8"?>
<renderer>
<positions layout="default">
<position name="media">Media</position>
<position name="meta">Meta</position>
<position name="description">Description</position>
</positions>
</renderer>
Здесь вы можете добавить новую позицию к стандартному макету, например позицию с названием "content": <?xml version="1.0" encoding="utf-8"?>
<renderer>
<positions layout="default">
<position name="media">Media</position>
<position name="meta">Meta</position>
<position name="description">Description</position>
<position name="content">Content</position>
</positions>
</renderer>
Вы должны также отобразить новую позицию в стандартном макете. Для этого откройте файл default.php в этой же папке и добавьте в него следующий код: <?php if ($this->checkPosition('content')) : ?>
<div class="content">
<?php echo $this->renderPosition('content'); ?>
</div>
<?php endif; ?>

Создание нового макета для модуля материалов ZOO

Если Вы не хотите использовать стандартный макет, вы может создать собственный. Откройте файл positions.xml в папке modules/mod_zooitem/renderer/item , чтобы добавить новый макет с новыми позициями. Например: <?xml version="1.0" encoding="utf-8"?>
<renderer>
<positions layout="default">
<position name="media">Media</position>
<position name="meta">Meta</position>
<position name="description">Description</position>
</positions> <positions layout="newlayout">
<position name="header">Header</position>
<position name="left">Left</position>
</positions>
</renderer>
В этом примере мы добавили новый макет
"newlayout" с позициями: header и left. Затем создайте файл макета с названием "newlayout.php". Далее приведен пример кода для этого файла, отображающий позиции в макете: <?php // no direct access defined('_JEXEC') or die('Restricted access'); ?>
<?php if ($this->checkPosition('header')) : ?>
<div class="header">
<?php echo $this->renderPosition('header'); ?>
</div> <?php endif; ?>
<?php if ($this->checkPosition('left')) : ?>
<div class="left"> <?php echo $this->renderPosition('left'); ?>
</div>
<?php endif; ?>
  • Воскресенье, 04 января 2015

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

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

beget