2010-08-27 2 views
1

Я создал общий «Page» контроллер для моего сайта. Эти страницы служат в основном статической информации, они извлекают самую последнюю версию содержимого страницы и дату обновления из базы данных. На каждой странице есть меню раздела и меню ресурсов. Меню раздела продиктовано тем логическим разделом сайта, на котором находится страница. Меню ресурсов содержит ссылки на ресурсы, связанные с этой страницей, документы, внешние ссылки, ссылки на события календаря и т. Д. Эти ресурсы зависят от страницы, а также вытягиваются из базы данных.Добавление контекстно-зависимых меню в контроллеры codeigniter

В настоящее время контроллер страницы генерирует их и помещает их в представление, но я смотрю работу на других контроллерах, которые могут иметь только одно, оба или ни одно из меню. Должен ли я продолжать выбор и генерацию меню, чтобы функция контроллера страницы и скопировать ее в новые контроллеры? Или я должен каким-то образом вырвать функции поиска и генерации меню в какой-то другой объект (библиотека, помощник или плагин)? И если да, то как мне это сломать? Или как еще я должен его реализовать?

+0

Не могли бы вы вставить свой код так, как он есть на данный момент? – musoNic80

ответ

0

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

При определении меню на основе разрешения пользователя или то, что вы можете проверить эти вещи с точки зрения, например:

<?php if ($this->tank_auth->checkPerm('Backup')) : ?> 
    <div class="menu_item" id="menu4">... 
<?php endif; ?> 

Вы также можете отправить параметры на вид из контроллера, если вы хотите изменить меню в зависимости от страницы или множества вещей.

Не нужно создавать библиотеку, помощник или плагин.