Врезки — это «куски» шаблона (partials), которые можно использовать для повторного использования в различных подмакетах. В них может быть определены элементы навигации (хлебные крошки, вспомогательное меню) или другие элементы интерфейса (колонка, блок в колонке и т.д.) которые используются в разных местах макета дизайна.
До версии 5.8 врезки назывались в интерфейсе системы «дополнительными шаблонами».
В версии 5.8 появилась возможность отложенной загрузки врезок (асинхронные врезки).
Врезок можно внедрить неограниченное количество.
Управление врезками находится там же, где и макетами дизайна (пункт «Разработка» — «Макеты дизайна»).

В правой части будут отображены поля, которые необходимо заполнить: ключевое слово макета и шаблон. Название врезки (появилось в версии 5.8) является опциональным, здесь можно, например, кратко описать назначение врезки.
Поле «разрешить асинхронную загрузку» включает возможность загрузки врезки отдельным запросом.

Для добавления врезки в макет дизайна используется метод $this->partial. Например, следующий вызов метода выводит врезку из файла /netcat_template/template/{id}/partials/breadcrumbs.html (где {id} - ключевое слово или идентификатор текущего (корневого) макета дизайна):
<?= $this->partial('breadcrumbs') ?>
Создайте новый шаблон.
Ключевое слово: breadcrumbs
Шаблон врезки:
<? foreach ($nc_core->nav->get_path() as $sub): ?> <? if ($sub->current): ?> <?=$sub->name ?> <? else: ?> <a href='<?=$sub->url ?>'><?=$sub->name ?></a> / <? endif ?> <? endforeach ?>
Сохраните результат. Данный шаблон осуществит вывод хлебных крошек в макете дизайна.
<?=$this->partial('breadcrumbs') ?>
<?=$this->partial('breadcrumbs', array('data'=>$nc_core->nav->get_path())) ?>
<?=$this->partial('breadcrumbs')->with('data', $nc_core->nav->get_path()) ?>
<?php
$breadcrumbs = $this->partial('breadcrumbs');
$breadcrumbs->data = $nc_core->nav->get_path();
echo $breadcrumbs->make();
?>
<?=$this->partial('sidebar_block', array(
'header' => 'Новости за сегодня',
'content' => $today_news
))?>
<?=$this->partial('sidebar_block', array('content' => $information)) ?>
Содержимое шаблона partials/sidebar_block.html:
<div class='sidebar-block'>
<h3><?= $this->value('header', 'Информация') ?></h3>
<div class='block-content'>
<?= $this->value('content', 'Нет записей') ?>
</div>
</div>
Для формирования навигации во врезке воспользуйтесь классом навигации.
Методы для загрузки врезки отдельно от страницы описаны на странице «Асинхронные врезки».
<?
// Ключевое слово родительского корневого макета дизайна
$template_keyword = 'my_template';
// Имя врезки
$partial_keyword = 'test';
// Данные для передачи в шаблон врезки
$data = array('example' => 'string');
// Выводим результат выполнения дополнительного шаблона с указанным именем
echo $nc_core->template->get_partial($template_keyword, $partial_keyword, $data);
<?
// ID родительского корневого шаблона
$template_id = 1;
// Имя дополнительного шаблона
$partial_template_name = 'Test';
// Данные для передачи в дополнительный шаблон
$data = array('example' => 'string');
// Путь к папке с шаблонами на сервере
$root_template_path = $nc_core->TEMPLATE_FOLDER;
// Путь к папке родительского корневого шаблона
$template_path = $nc_core->db->get_var('SELECT File_Path FROM Template WHERE Template_ID = ' . +$template_id);
// Инициализируем базовый класс для шаблонов
$template_view = new nc_tpl_template_view($root_template_path, $nc_core->db);
// Загружаем искомый родительский шаблон
$template_view->load_template($template_id, $template_path);
// Ищем внутри искомого родительского шаблона дополнительный шаблон с указанным именем
$partial_template_view = $template_view->partial($partial_template_name, $data);
// Выводим результат выполнения дополнительного шаблона с указанным именем
echo $partial_template_view->make();
?>