Вопросы о взглядах - PullRequest
       0

Вопросы о взглядах

1 голос
/ 31 марта 2011

У меня есть несколько вопросов о View в Codeigniter.

Как мне создать свой дизайн и как его вернуть позже?Я хотел бы создать свой верхний колонтитул, основной контент и меню, нижний колонтитул и многое другое.

Создание дизайна и последующее копирование его в каждый новый созданный мной вид не является хорошим решением.Если я что-то изменю в нижнем колонтитуле, это изменение вступит в силу для всего сайта.

Есть ли у кого-нибудь какая-либо ссылка на какое-нибудь хорошее руководство, как наилучшим образом использовать его или объяснить здесь хорошим способом.

Ответы [ 4 ]

1 голос
/ 31 марта 2011

Ваше чувство верно, это не очень хорошая идея.Вот почему большинство людей используют какую-то систему шаблонов вместе с их View.

Я использовал эту библиотеку: http://williamsconcepts.com/ci/codeigniter/libraries/template/ (раньше, потому что я больше не пишу код в CI)

Это никогда не доставляло мне проблем, и его довольно легко настроить.

0 голосов
/ 01 апреля 2011

Выход из контроллера

   if($query->result())
{
    **$data['blog']** = $query->result();
}
    $data['title'] = 'LemonRose';
    $data['content'] = 'home/home_content'; //this is the content section, a separate view from header and footer
    //$this->output->cache(60);
    **$this->load->view('template1', $data);** 
}

Шаблон заметки1

Шаблон 1 (это вся страница)

$this->load->view('tops/home');
$this->load->view($content); $content is the $data['content'] from above
$this->load->view('bottoms/main_home');

Затем раздел контента (главная /home_content) будет иметь место для получения $ data [блог]

foreach (**$blog** as $row){ //controller main

$row->title = ucwords($row->title); //more code goes below
0 голосов
/ 31 марта 2011

У вас есть два с половиной варианта здесь (при условии, что вы не хотите устанавливать какой-либо плагин).

Вариант 1, по вашему мнению, использует <?php $this->load->view('header'); ?> ии т. д.

Вариант 2 в вашем контроллере переопределить функцию output, которая принимает один аргумент (содержимое страницы) и манипулирует им оттуда (добавляя представления и еще много чего).Опция 2.5 заключается в переопределении базы CI_Controller и реализации стандартного переопределения функции output, как описано выше.

Перед выполнением опции 2 / 2.5 проверьте документацию по выходному классу;перед эхом вам нужно будет установить выходной контент на null или пустую строку, иначе контент появится дважды.

0 голосов
/ 31 марта 2011

Вы должны сделать свой заголовок, нижний колонтитул, меню и т. Д. Каждый своим видом. Таким образом, когда вы хотите изменить, скажем, нижний колонтитул, вы редактируете это представление, и тогда каждый контроллер, который использует это представление, будет обновлен.

См. Документы CodeIgniter для получения дополнительной информации о файлах с несколькими представлениями.

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