Похоже, вы работаете с Библиотека шаблонов Колина Уильямса .
Я не слишком много смотрел на это, но прочитал @ http://williamsconcepts.com/ci/codeigniter/libraries/template/reference.html#manipulation
$this->template->add_region($name, $settings = array())
Метод add_region () позволяет динамически добавлять регионы для
пишу. Как минимум, $ name должно быть
поставляется для определения региона.
При желании массив $ settings может быть
передается для предоставления содержимого по умолчанию,
обертки и атрибуты.
$this->template->add_region('flash');
$this->template->write_view('flash', 'some_flash');
$this->template->add_region('login');
$this->template->write_view('login', 'some_login');
Редактировать
(Опять же, если вы используете библиотеку шаблонов, я так думаю),
В вашем шаблоне есть регион content
. У вас есть представление под названием registerForm
, которое содержит только форму.
В вашем controller method
для регистрации вы просто должны сделать:
$this->template->write_view('content', 'registerForm');
Библиотека загрузит содержимое представления registerForm
в область content
.
Очевидно, что у вас может быть столько регионов, сколько вам нужно, но библиотека шаблонов позволяет вам определить область (регион), в которой вы хотите показывать любой контент, а затем выводить HTML или представления непосредственно в регион.
Либо я неправильно понимаю, но не думаю, что смогу объяснить это намного проще, чем это. Документы тоже неплохие.
Редактировать второй
Вот пример метода из проекта, который я делал недавно, используя эту библиотеку.
class Welcome extends Controller {
function __construct()
{
parent::__construct();
$this->template->set_template('my_template');
// as defined in config/template.php
}
function index()
{
$this->template->write('title', 'This is my $title region');
// here I am writing some views to my regions $content and $sidebar
// content/home-page-view is just a view containing text.
$this->template->write_view('content', 'content/home-page-view');
$this->template->write_view('sidebar', 'sidebar/home-page-sidebar');
// lets go..
$this->template->render();
}
теперь, когда я получаю доступ к mysite.com/welcome/index
, мой HTML-шаблон будет отображаться с содержимым, которое я написал в методе.
Мой HTML-шаблон выглядит примерно так:
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php echo $content; ?>
<?php echo $sidebar; ?>
</body>
</html>
Мой файл config / template.php выглядит так:
$template['default']['template'] = 'template/master';
$template['default']['regions'] = array(
'title',
'content',
'sidebar'
);
$template['default']['parser'] = 'parser';
$template['default']['parser_method'] = 'parse';
$template['default']['parse_template'] = FALSE;
template/master
относится к файлу в моей папке представлений (template / master.php), который содержит мой макет (как указано выше).