codeigniter: все создано через паттерн MVC? - PullRequest
1 голос
/ 11 февраля 2012

Я изучаю codeigniter, и я бы реализовал простое приложение. Я спрашиваю, должна ли каждая страница, даже если она не содержит напрямую, динамический элемент должен быть создан через шаблон MVC? Я объясняю себе: моя домашняя страница не будет содержать ничего динамического. только заголовок, меню и нижний колонтитул. Для этого нужно создать модель, контроллер и вид, или я просто создаю домашнюю страницу?

Ответы [ 2 ]

3 голосов
/ 11 февраля 2012

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

Что касается вида и модели.Вам тоже не всегда нужно создавать.

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

Без представления вы добрыпобедить цель MVC.Контроллер может просто отобразить весь ваш html для страницы, но я бы не стал этого делать.

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

$arrData["vwsContent"] = $this->load->view("your view for the page", $arrData, TRUE);
$arrData["vwsPageContent"] = $this->load->view("content template view", $arrData, TRUE);
$this->load->view("default template view", $arrData, FALSE);  

Таким образом, у меня могут быть разные представления содержимого, но одно и то же представление по умолчанию для всех страниц.,Например, моя домашняя страница выглядит иначе, чем мои обычные страницы, поэтому я бы использовал шаблон HOME вместо шаблона CONTENT.

1 голос
/ 11 февраля 2012

Вы можете определить функцию домашней страницы в любом контроллере.

В rout.php контроллер и действие по умолчанию могут быть определены

$route['default_controller'] = "welcome"; (приветствие может быть заменено любым другим контроллером, который вы предпочитаете).

Создать функцию с индексом имени

function index(){
        $this->load->view('index');
}

Затем создайте файл index.php в папке «views».

В index.php вы можете поместить весь ваш HTML-статический контент. Вы можете использовать URL helper [function base_url ()] для images / css / js path.

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