Я генерирую меню из таблицы базы данных, используя функцию, и поместил это в расширенный базовый класс контроллера:
<?php
class MY_Controller extends Controller {
public function __construct()
{
parent::Controller();
}
public function category_menu()
{
$this->load->model('category_model', 'category');
$categories = $this->category->get_categories();
$menu ="<ul class=\"menu_body\" id=\"nav_categories\">\n";
foreach($categories->result() as $row)
{
$menu .= "\t<li>" . anchor('listing/view' . $row->url, $row->name) . "</li>\n";
}
$menu .= "</ul>\n";
return $menu;
}
}
тогда, естественно, мой контроллер выглядит как ~
<?php
class Site extends MY_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
$data['menu'] = $this->category_menu();
$this->load->view('view', $data);
}
}
это работает, но кажется неэффективным делать это для ~ каждой ~ страницы / просмотра?
Или это просто ограничение CI / MVC, и другого способа сделать это нет.
спасибо за понимание