Общие функциональные возможности страниц
Все классы страниц должны расширять
Zend_Navigation_Page, таким образом они будут
наследовать один общий набор функциональных возможностей и свойств.
Для опций есть соотвествующие установочные методы с префиксом
set.
Это означает, что опции order соответствует метод
setOrder(), а опции reset_params -
метод setResetParams().
Если для опции нет соответствующего метода для установки, то она будет
устанавливаться как пользовательское свойство страницы.
Более подробную информацию о расширении
Zend_Navigation_Page читайте в
разделе
о создании своих типов страниц.
Общие опции страницКлючТипЗначение по умолчаниюОписаниеlabelStringNULL
Наименование страницы, например, "Главная" или "Блог".
idString | intNULL
Идентификатор, который может использоваться
при рендеринге данной страницы, обычно в качестве
атрибута id в элементе ссылки.
classStringNULL
Класс CSS, который может
использоваться при рендеринге данной
страницы, обычно в элементе ссылки.
titleStringNULL
Краткое описание страницы, обычно оно используется
в качестве атрибута title ссылки.
targetStringNULL
Задает целевой фрейм для страницы, обычно
используется в качестве соответствующего атрибута
ссылки.
relArrayarray()
Определяет "направленные вперед" связи
(forward relations) для страницы,
т.е. отношение текущего ресурса к тому,
на который ссылается страница.
Все элементы в массиве являются парами ключ-значение,
где ключ обозначает тип связи, а значение является
указателем на связанную страницу.
Примером такой пары ключ-значение может быть
'alternate' => 'format/plain.html'.
С целью обеспечения полной гибкости на значения из пар
ключ-значение не накладывается никаких ограничений.
Значение не обязательно должно быть строкой.
Для получения более подробной информации об опциях
rel и rev читайте
раздел
о помощнике ссылок.
revArrayarray()
Определяет "обратные" связи (reverse relations) для
страницы,
т.е. отношение ресурса, на который ссылается данная
страница, к текущему.
Работает в точности так же, как rel.
orderString | int | NULLNULL
Работает так же, как одноименная опция для элементов
форм в
Zend_Form.
Страницы будут обходиться в указанном через эту опцию
порядке, это значит, что вы можете
сделать так, чтобы страница была первой в итерации,
присвоив атрибуту order какое-то наименьшее
значение, например, -100.
Если передается строка, то она должна
преобразовываться в валидный int.
В случае значения NULL
будет использоваться порядок, в котором страницы были
добавлены в контейнер.
resourceString | Zend_Acl_Resource_Interface | NULLNULL
Ресурс ACL, который требуется
связать со страницей.
Более подробную информацию читайте в
разделе
об интеграции ACL в помощники
видов.
privilegeString | NULLNULL
Привилегия ACL, которую требуется
связать со страницей.
Более подробную информацию читайте в
разделе
об интеграции ACL в помощники
видов.
activeboolFALSE
Должна ли страница считаться активной для
текущего запроса.
Если эта опция равна FALSE или
не передана, то страница MVC
будет сверять свои свойства с объектом запроса во
время вызова $page->isActive().
visibleboolTRUE
Должна ли страница быть видимой для пользователя
или просто быть частью структуры.
Невидимые страницы пропускаются в помощниках видов.
pagesArray | Zend_Config | NULLNULL
Дочерние по отношению к данной страницы.
Это может быть массив или объект
Zend_Config, содержащий
либо опции страниц, которые могут быть переданы
фабричному методу, либо сами экземпляры
Zend_Navigation_Page.
Массивы опций страниц и объекты
Zend_Navigation_Page могут
комбинироваться друг с другом.
Пользовательские свойства
Все страницы поддерживают установку и получение пользовательских
свойств путем использования "магических" методов
__set($name, $value),
__get($name),
__isset($name) и
__unset($name).
Пользовательские свойства
могут иметь любые значения и будут включаться в массив, возвращаемый
методом $page->toArray(). Последнее значит,
что страницы могут успешно подвергаться сериализации/десериализации
даже в том случае, если они содержат свойства, не определенные
в классе страницы.
Как предопределенные, так и пользовательские свойства могут
устанавливаться через метод
$page->set($name, $value) и извлекаться
через метод $page->get($name), также можно
использовать "магические" методы.
Пользовательские свойства страницы
Данный пример показывает, как могут использоваться
пользовательские свойства.
foo = 'bar';
$page->meaning = 42;
echo $page->foo;
if ($page->meaning != 42) {
// должны быть какие-либо действия
}
]]>