1
2
3
4
5
'template' => [
'abc_template' => false,
],
1
2
3
4
5
6
'template' => [
'abc_template' => false,
'ext' => 'php',
],
1 | selectTpl() | Выбирает шаблон |
2 | assign() | Передает переменные в шаблон |
3 | assignHtml() | Передает переменные в шаблон |
4 | extendsTpl() | Наследует макет от шаблона |
5 | parseTpl() | Разбирает и заполняет шаблон |
Выбирает шаблон
Метод загружает для разбора выбранный шаблон. Аргументом принимает путь от директории с шаблонами и название файла без расширения
public TplNative::selectTpl ( $tplName ) | ||
$tplName | string | Имя шаблона без расширения |
return | $this | Объект |
---|
Передает переменные в шаблон
Этот метод передает значения переменных в шаблон как по имени, так и массивом. При передаче массива ключи становятся именами переменных, а значения их заполняют.
Смотри еще assignHtml().
public TplNative::assign ( $data, $value = null ) | ||
$data | string|array | Имя переменной в шаблоне. Либо массив, где ключи - имена переменных. |
$value | string | Значение переменной, если первым аргументом передано имя. |
return | $this | Объект |
---|
Передает переменные в шаблон
Этот метод передает значения переменных в шаблон как по имени, так и массивом, предварительно обработав их htmlspecialchars(). При передаче массива ключи становятся именами переменных, а значения их заполняют.
Смотри еще assign().
public TplNative::assignHtml ( $data, $value = null ) | ||
$data | string|array | Имя переменной в шаблоне. Либо массив, где ключи - имена переменных. |
$value | string | Значение переменной, если первым аргументом передано имя. |
return | $this | Объект |
---|
Наследует макет от шаблона
Помещает шаблон в макет и передает в макет переменные, назначенные в шаблоне.
public TplNative::extendsTpl ( $block, $layout = null ) | ||
$block | string | Блок (имя переменной), куда будет помещен шаблон |
$layout | string | Макет (главный шаблон) |
return | $this | Объект |
---|
Разбирает и заполняет шаблон
Возвращает заполненный шаблон в виде строки.
public TplNative::parseTpl ( ) | ||
return | string | Заполненный шаблон |
---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ABC-Framework</title>
</head>
<body>
<div class="content">
<?=$content; ?>
</div>
<div class="footer">
© 2015-<?=date('Y'); ?> IRBIS-team
</div>
</body>
</html>
1
2
3
4
5
6
7
8
<div style="text-align:center">
<h2><?=$hello; ?></h2>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
namespace App\Views;
use ABC\Core\Base;
class MainView extends Base
{
public function createHello()
{ // Выбираем шаблон
$this->selectTpl('test');
// Получаем контент из модели
$content = $this->getModel('MainModel')->getContent();
// Передаем контент в шаблон
$this->tpl->assign($content);
// Шаблонизатор наследует макет (по умолчанию index.tpl)
// и выводит в него шаблон
$this->tpl->extendsTpl('content');
// Выводим результат в поток
$this->render();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
namespace App\Views;
use ABC\Core\Base;
class MainView extends Base
{
public function createHello()
{ // Новый экземпляр шаблонизатора
$tpl = ABC::newService(ABC::TPL_NATIVE);
// Выбираем шаблон
$tpl->selectTpl('main');
// Получаем контент из модели
$content = $this->getModel('MainModel')->getContent();
// Передаем контент в переменную $hello шаблона
$tpl->tpl->assignHtml('hello', $content['hello']);
// Шаблонизатор наследует макет (по умолчанию index.tpl)
// и выводит в него шаблон
$tpl->extendsTpl('content');
// Выводим результат в поток
$tpl->display();
}
}