боковая панель codeigniter - PullRequest
       9

боковая панель codeigniter

0 голосов
/ 02 февраля 2011

У меня есть небольшая проблема, с которой я не знаю, что делать.

У меня есть шаблон с

  • header
  • content
  • sidebar
  • нижний колонтитул

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

мне нужно сделать контроллер?или мне нужно сделать библиотеку и загрузить ее в мой файл template.php?

я использую эту систему шаблонов http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

Если вы когда-либо будете изменять содержимое, вам не нужно настраивать регионы для заголовка, боковой панели или нижнего колонтитула - просто добавьте их содержимое в ваш основной файл шаблона.чтобы изменить содержимое этих областей, я бы создал представления «по умолчанию» для этих регионов и загрузил в каждый конструктор контроллера, например, так:

$this->template->write_view('header', 'default/header');
$this->template->write_view('sidebar', 'default/sidebar');
$this->template->write_view('footer', 'default/footer');

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

0 голосов
/ 02 февраля 2011

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

Пример без библиотеки шаблонов

Функция контроллера

function index() {

    $data['some_var']    = "some value";
    $data['another_var'] = "another value";

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

first_view

<? $this->load->view('header') ?>

<h1>Content</h1>

<? $this->load->view('sidebar') ?>
<? $this->load->view('footer') ?>

InВ этом случае $data, загруженный в first_view, распространяется на header, sidebar и footer.

. Таким образом, вы можете использовать $some_var или $another_var в любом из этихПредставления.

ОБНОВЛЕНИЕ

Еще один способ загрузить данные в ваши представления глобально с помощью этой функции

$this->load-vars($data); 

Где $data - данные вашего просмотра, этот оператор непосредственно перед загрузкой шаблона должен разрешать доступ ко всем этим данным в любом представлении, загруженном шаблоном.Хотя является подходом к дробовику, это рекомендуемый способ сделать это с помощью выбранной вами библиотеки шаблонов .

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