Как создать новый шаблон
Этот урок проведет Вас через процесс создания нового шаблона для приложения компонента ZOO.
Начнем
Все шаблоны расположены в папке /media/zoo/applications/APPLICATION/templates/TEMPLATE/. Метаданные и параметры шаблона можно найти в файле template.xml. Актуальные файлы шаблона для представлений называются item.php, category.php, frontpage.php, tag.php и alphaindex.php. Большинство шаблонов имеют также папку renderer. В ней Вы найдете макеты материала, которые указывают на то, как материал должен отображаться. Также Вы можете найти здесь файлы кастомных элементов. Давайте посмотрим на существующий шаблон, чтобы иметь представление о структуре папок шаблона.Разбирая по деталям
Давайте создадим шаблон demo . Для этого создайте папку: /media/zoo/applications/APPLICATION/templates/demo/ Затем создайте файл template.xml:<?xml version="1.0" encoding="utf-8"?>
<template>
<name>Demo</name>
<version>2.0.0</version>
<creationDate>April 2010</creationDate>
<author>John Doe</author>
<authorEmail>john @ doe.com</authorEmail>
<authorUrl>www.johndoe.com</authorUrl>
<copyright>YOUR COPYRIGHT DISCLAIMER</copyright>
<license></license>
<description>This is my demo template</description>
<params group="category"></params>
<params group="item">
</params>
</template>
После этого создадим файлы шаблона для представлений: представление материала - item.php, представление категории - category.php, представление главной страницы приложения - frontpage.php, представление тегов - tag.php и представление буквенного индекса - alphaindex.php. Затем Вы должны написать некоторый код в эти файлы. Каждое представление будет иметь определенный набор переменных, заполненных значениями.
Все представления
$this
- Это текущий объект View.$this->application
- Это текущий объект Application.$this->template
- Это объект Template.$this->params
- Это объект Params, содержащий параметры сайта.
item.php
$this->item
- Это объект Item.$this->renderer
- Это объект Renderer, необходимый для отображения материала.
category.php
$this->category
-Это объект Category.$this->items
- Это массив, содержащий объекты Item, которые опубликованы в этой категории.
frontpage.php
$this->category
- Это объект Category, содержащий корневую категорию.$this->items
-Это массив, содержащий объекты Item, которые опубликованы на главной странице приложения.
tag.php
$this->tag
- Это объект Tag.$this->items
- Это массив, содержащий объекты Item, которые обозначены по выбранному тегу.
alphaindex.php
$this->alpha_char
- Это строка, содержащая выбранные буквенные символы.$this->selected_categories
- Это массив, содержащий объекты Category, включающий в себя выбранные категории.$this->items
- Это массив, содержащий объекты Item.
$this->renderer->render('item.full', array('view' => $this, 'item' => $this->item);
Первый параметр для функции render это макет. Второй параметр это массив, содержащий аргументы для функции render. Нам необходимо обеспечить представление и материал.