Добавление контекстно-зависимых меню на контроллеры codeigniter - PullRequest
1 голос
/ 27 августа 2010

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

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

1 Ответ

0 голосов
/ 28 августа 2010

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...