CodeIgniter Common Header Включить - PullRequest
3 голосов
/ 03 декабря 2010

Я очень новичок в CodeIgniter, но думаю, что понимаю, как он работает.

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

В моем приложении CodeIgniter у меня есть функция для каждой страницы в моем контроллере, которая загружает другое представление в зависимости от функции. Например,

    public function Index() {

    $data = array();
    $this->load->view('index',$data);

}

public function blog() {

    $data = array();
    $this->load->view('inner1',$data);

}

Тогда я могу поместить всю свою логику в контроллер.

Какой лучший способ иметь один заголовочный заголовок? Должен ли я поместить его в контроллер в качестве переменной, а затем отправить его как данные для каждого представления?

Кроме того, если есть более эффективный способ сделать это, пожалуйста, предложите это!

Спасибо!

Ответы [ 3 ]

5 голосов
/ 05 декабря 2010

Я много использую CodeIgniter.У меня есть папка с именем / common внутри моей папки / views.Там я поместил свои footer.php, sidebar.php, header.php и т. Д.

Мои файлы просмотра выглядят так:

$this->load->view('header');
<div id"main">
.....
</div>


$this->load->view('footer');

Мои файлы контроллера выглядят так:

public function blog() {
   $this->data['title'] = "Blog";
   $this->data['meta_tags'] = $meta;
   $this->data['entries'] = $entries;

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

Обратите внимание, что переменные, такие как $ title или $ meta, могут позже вызываться в шаблоне заголовка.Таким образом, я могу внести изменения в файл common / header.php и сохранить его на сайте.

Удачи!

PD: я рекомендую использовать Carabiner для управления вашими активами в начале каждогоконтроллер, а затем отобразить их на вашем header.php

5 голосов
/ 03 декабря 2010

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

Так что это будет что-то вроде:

public function blog() {

   $data = array();
   $this->load->view('Header'); // just the header file
   $this->load->view('inner1',$data); //your main content
}

Имеет смысл?

Добавлено: Вы также можете включить туда весь свой тег заголовка, например, метатеги,title, css links и т. д. Но я обычно помещаю их в другое представление, потому что иногда они различаются в зависимости от страницы.

1 голос
/ 03 декабря 2010

Вы смотрели какие-нибудь проекты шаблонов там?

http://williamsconcepts.com/ci/codeigniter/libraries/template/

http://philsturgeon.co.uk/index.php/code/codeigniter-template

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

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