Приведем список всех переменных, передаваемых на шаблон в Blox CMS.
При любых условиях в шаблон поступают следующие переменные:
$page | Номер текущей страницы |
$block | Номер текущего блока |
$dat[] | Данные однозаписного блока.
$dat[1], $dat[2] и т. д. — непосредственно данные. $dat['rec'] — номер записи (уникальный порядковый номер записи в таблице БД). $dat['edit'] — код кнопки редактирования записи (передается только для пользователей с правом редактирования блока). $dat['delete'] — код кнопки удаления записи (Код передается только для пользователей с правом редактирования блока. Эту кнопку необязательно позмещать в шаблоне, так как штатное удаление записи производится через панель редактирования записи). $dat['blocks'] — массив номеров блоков данной записи. В элементе $dat['selects'] — массив номеров записей выборных списков данной записи. В элементе Для совместимости с многозаписными шаблонами дополнительно передается массив $tab[0], равный всему $dat. |
$tab[][] | Данные многозаписного блока. Обычно в многозаписном блоке этот массив перебирают по первому индексу с помощью оператора foreach с выделением одномерного массива (например, $dat[]), аналогичного данным однозаписного блока (см. выше).
В первом индексе tab[*][] передается вспомогательный номер для задания порядка следования записей. Не путайте его с номером записи, который передается в элементе $tab[]['rec']. Для совместимости с однозаписными шаблонами дополнительно с $tab передается массив $dat, равный $tab[0]. |
$edit['button'] | Кнопка редактирования блока (режим многозаписного редактирования) |
$edit['href'] | Ссылка редактирования блока (режим многозаписного редактирования) |
$edit['new-rec']['button'] | Код кнопки редактирования новой записи. Эта переменная добавлена для удобства, чтобы можно было поместить кнопку новой записи в любое место шаблона. Вообще-то, код кнопки редактирования новой записи находится в переменной $dat['edit'] в последней пустой записи (если блок отображается для пользователя с правами редактирования). В режиме обратной выборки запись с кнопкой редактирования новой записи идет наоборот первой. Кстати, чтобы проверить, выводится ли запись с кнопкой новой записи (то есть, в ней нет данных), нужно проверить наличие переменной $dat['rec']. Если ее нет, значит это запись с кнопкой новой записи. |
$blockInfo['id'] | Номер текущего блока (совпадает с переменной $block) |
$blockInfo['tpl'] | Имя шаблона (имя текущего файла без расширения tpl) |
$blockInfo['delegated-id'] | Номер делегированного блока (только в случае делегирования блока в текущий блок). Делегирование применяется при назначении шаблона. Суть делегирования заключается в том, что один блок использует данные другого блока. По этой переменной можно определять, делегирован ли текущий блок. |
$blockInfo['src-block-id'] | Номер исходного (делегированного) блока. Его значение совпадает с $blockInfo['id'], если не было делегирования. Номер страницы, на которой находится исходный блок можно найти так: Blox::getBlockPageId($blockInfo['src-block-id']) Пример использовании переменных $blockInfo['src-block-id'] и Blox::getBlockPageId($blockInfo['src-block-id']) см. в шаблоне новостей. |
$blockInfo['parent-block-id'] | Номер родительского блока текущего блока ($block) |
$blockInfo['parent-rec-id'] | Номер родительской записи, в которой находится текущий блок |
Остальные переменные подаются при определенных условиях.
в smarty-шаблонах | в php-шаблонах | |
$tab[0][] | $tab[0][] | Данные запрошенной записи Дублируются массивом $dat[] |
$tab.prev[] | $tab['prev'][] | Данные предыдущей записи |
$tab.next[] | $tab['next'][] | Данные следующей записи |
$tdat[] | Данные с предобработчика шаблона (файл *.tplh). |
$udat[] | Данные с предобработчика обновления данных (файл *.tuh). |
$subscription[] | Массив с информацией о состоянии подписки пользователя на текущий блок. |
$xdat[] | Экстраданные — аналог переменной $dat |