HMVC и Представления в папках (Codeigniter) - PullRequest
2 голосов
/ 07 июня 2011

Я использую библиотеку Tank Auth в Codeigniter с HMVC, и все файлы mvc auth tank находятся в отдельном модуле, называемом «auth».Tank Auth загружает представление (domain.com/application/modules/auth/views/auth/login_form.php), найденное в папке (auth), используя:

$this->load->view('auth/login_form', $data);

Насколько я знаю, код вышезагрузит login_form.php в папке auth без HMVC.Однако для HMVC мне нужен следующий код для загрузки представления:

$this->load->view('auth/auth/login_form', $data);

Есть ли параметр, который мы должны изменить, чтобы нам не приходилось обращаться к файлу представления с помощью (имя модуля) / (просмотр имени папки) / (просмотр имени файла)?Или это совершенно нормально, и большинство людей делают это таким образом?

Кажется проблематичным, что мне приходится добавлять имя папки модуля 'auth' к каждому вызову функции view () и менять их все, если я изменяюимя папки модуля.

1 Ответ

3 голосов
/ 07 июня 2011

Если вы используете Модульные расширения - HMVC :

Если вы уже настроили auth как модуль, вы можете просто позвонить:

$this->load->view('login_form', $data);

Файл /views/login_form.php будет загружен из текущего модуля.Это относится к моделям, языковым файлам, библиотекам и т. Д. Думайте о модуле как о его собственном приложении, это то, что вы обычно делаете.

Кроме того, чтобы загрузить файл из другого модуля или контроллера вне каталога модуля, вы можете использовать $this->load->view('auth/login_form');

Если файл не найден, он проверит пути других модулей, включая каталог по умолчанию.Это может быть, а может и не быть так, как работают другие пакеты HMVC, я не уверен, но именно так работает MX.

...