-
Notifications
You must be signed in to change notification settings - Fork 35
Меню
Меню сайта состоит из двух частей:
Model_Navigation::get_section('Content')
Если раздела с таким именем не существует, он будет создан
В нем интерес представляют всего пара методов:
->id()
- название раздела без i18n
->name()
- название раздела с i18n
->counter()
- сумма всех счетчиков страниц
->add_page(Model_Navigation_Page, $priority)
- Добавление страницы в раздел и указание позиции относительно других пунктов меню.
->find_page_by_uri($uri)
- Поиск страницы по адресу. Возвращает объект Model_Navigation_Page
, либо NULL
->update()
- Обновление данных раздела. Если были внесены какие то изменения в страницу раздела, метод запустится автоматически
Объект страницы можно получить двумя способами:
Model_Navigation::get_section('Content')->find_page_by_uri($uri)
Model_Navigation::find_page_by_uri($uri)
В первом случае мы ищем страницу в конкретном разделе, во втором будет произведен поиск по всем раздела и отдана страница с первым совпадением.
Методы:
->get_section()
- Получить объект раздела страницы
->set_section(Model_Navigation_Section)
- Поместить страницу в раздел
->set_active($status)
- Сделать страницу активной
Для добавления нового пункта меню необходимо
Пример добавления нового пункта:
Model_Navigation::get_section('Content') ->add_page(new Model_Navigation_Page(array( 'name' => __('Messages'), 'url' => URL::site('messages') )), 999);
Возможные параметры:
name
- Название страницы
url
- URL страницы
counter
- Установить счетчик для страницы
divider
- Установить разделитель для страницы
permissions
- Права на доступ (По умолчанию: array('administrator')
)
icon
- Иконка пункта меню (В разработке)