Codeigniter: лучший способ структурировать частичные представления

Как бы вы структурировали страницу ниже в Codeigniter?

alt text

Я думал о создании отдельных контроллеров для каждого раздела

  1. Левая навигация
  2. Навигация по содержимому
  3. Имя входа
  4. Доска почета

Исключая раздел содержимого (поскольку это меняется в зависимости от ссылки на левая навигация и навигация по содержанию используются как своего рода подменю). Все остальные разделы остаются примерно такими же

, о которых я думал:

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 ()

Это может быть головной болью, если этот код находится во всех остальных местах. навигационные ссылки, такие как Новости, Пользователи, О нас и т. д. Но опять же, не каждая навигационная ссылка имеет все эти разделы, поэтому мне нужна гибкость наличия раздела ns как "частичное представление"

Может ли кто-нибудь предложить лучший способ сделать это?

37
задан Gary Green 9 September 2010 в 08:58
поделиться