Как бы вы структурировали следующую страницу в Codeigniter?
Я думал о создании отдельных контроллеров для каждого раздела
- Левый навигатор
- Содержание nav
- Имя пользователя
- Leaderboard
Исключая раздел содержимого (поскольку это изменяется в зависимости от ссылки на левом навигационном и контентном навигаторе, используемом как своеобразное подменю). Все остальные разделы остаются примерно одинаковыми.
Я думал об этом:
Class User_Profile extends Controller
{
function index()
{
$this->load_controller('Left_Nav');
$this->load_controller('Content_Nav');
$this->load_controller('Login_Name');
$this->load_controller('Leaderboard', 'Board');
$this->Left_Nav->index(array('highlight_selected_page' => 'blah'));
$this->load('User');
$content_data = $this->User->get_profile_details();
$this->view->load('content', $content_data);
$this->Login_Name->index();
$this->Board->index();
}
}
Очевидно, что это load_controller
не существует, но эта функция была бы полезна. Контроллер для каждого раздела получает данные, требуемые от модели, а затем загружает страницу через $this->view->load()
Это может быть головная боль, чтобы иметь этот код во всех левых навигационных ссылках, таких как "Новости", "Пользователи", "О нас" и т.д. Но опять же не у каждой навигационной ссылки есть все эти разделы, поэтому мне нужна гибкость в том, что разделы "частичный вид"
Может ли кто-нибудь предложить лучший способ сделать это?