Иногда возникают нестандартные задачи, когда из всех файлов шаблона нужны только отдельные файлы.
В таких случаях в целях оптимизации применяйте параметр $params['template-files'] в дескрипторе. В нем нужно перечислить расширения тех файлов, которые будут применяться. В данном параметре допустимы только те файлы, которые участвуют в выводе блока: ['tdd', 'tpl', 'css', 'js']
Допустим, при клике, всплывает окно, в которое аяксом должен загрузиться наш блок (по запросу: "?block=..."). Для загрузки в это окно html-кода, нужны только файлы tdd и tpl. Однако заранее на странице нужно подключить файлы css и js. С учетом этого, в дескриптор подгружаемого блока нужно добавить такой код:
.tdd
<?php
if (Blox::getScriptName() == 'block')
$params['template-files'] = ['tdd','tpl'];
elseif (Blox::getScriptName() == 'page')
$params['template-files'] = ['css','js'];
?>
$params['template-files'] = []; | Параметр объявлен, но пуст | Блок не извлекается вообще. Для этих целей предпочтительнее использовать параметр $fields['none'] в родительском шаблоне. |
$params['template-files'] = | В списке нет 'tdd' | Шаблон будет выведен, но без данных, то есть, переменная шаблона $tab будет пуста. Подразумевается, что вы организуете подготовку этой переменной по своему усмотрению непосредственно в tpl-файле. Доступны остальные переменные шаблона, в частности, кнопка новой записи. Примечание: tdd-файл фактически вызывается, но не применяется. |