Blox::ajaxRequested() | Запрос к блоку произведен с помощью Ajax. |
Blox::error( $message, $toExit=null ) | Внести запись $message в лог ошибок. Если есть непустая переменная $toExit, то сразу прекратить выполнение скрипта. |
Blox::getBlockInfo( $blockId, $key=null ) | Возвращает все параметры указанного блока в виде массива. Указав второй параметр $key (ключ массива), можно ускорить вывод и сразу получить нужный параметр в виде скалярной величины. Список ключей: 'id', 'tpl', 'delegated-id', 'parent-block-id', 'parent-rec-id', 'src-block-id', 'parent-field', 'is-xdat', 'settings'. Ключ 'settings' возвращает настройки блока, которые используются только системой при выводе блока. Этот массив идет в сериализованном виде, то есть, как строковое данное, поэтому, чтобы получить настоящий массив, необходимо это данное десериализовать: $settings = unserialize(
Blox::getBlockInfo($block, 'settings')
);
|
Blox::getBlockPageId($blockId, &$delegatedAncestorId=null) | Получить номер страницы, на которой находится указанный блок $blockId.
# Получить номер страницы, на которой находится
# первый блок с шаблоном myTemplate
$myPageId = Blox::getBlockPageId(
Blox::getInstancesOfTpl('myTemplate')[0] # см.ниже
);
Внимание! Если какой-либо из вышестоящих блоков (предков) окажется делегированным, то будет возвращена не текущая страница, а страница, на которой находится исходный блок-предок. О такой ситуации будет сигнализировать непустая переменная $delegatedAncestorId — номер ближайшего делегированного блока-предка. |
Blox::getIdAddress($dataType, $id, $startBlockId=1) |
С помощью этого метода можно получить информацию о том, где хранится данное типа block или page по его номеру.
|
Blox::getPageId() | Получить номер текущей страницы |
Blox::getPageUrl($encode=false) | Получить URL текущей страницы. |
Blox::getPageHref($encode=false) | Получить URL текущей страницы относительно базы (относительно главной страницы сайта).
Используется обычно для добавления url-параметра pagehref к ссылкам, ведущим на служебные скрипты (т.е. к ссылкам, не начинающимся с "?page=..."). Параметр pagehref несет информацию о странице, которую вы покинули, переходя в административные разделы. Благодаря этому параметру, вы вернетесь на ту же страницу. Для передачи URL страницы с помощью url-параметра pagehref, его необходимо закодировать методом Url::encode(). Закодировать можно также, поставив в метод Blox::getPageHref() аргумент true:
|
Blox::getTbl($tpl, $xprefix='', $noBackticks=false) |
$sql = 'SELECT * FROM '.Blox::getTbl($tpl).' WHERE `block-id`='.$blockId;
|
Blox::getScriptName() | Возвращает имя скрипта. Это имя URL-параметра, которое идет сразу после символа "?". Например, при открывании окна редактирования, имя скрипта: edit. Параметр идет без значения. Исключение составляет обычный вывод страницы. В этом случае имя скрипта: main. .tdd (пример pick-фильтрации) $script = Blox::getScriptName();
if ('page' == $script)
Request::add('block='.$blockInfo['id'].'&p[1]='.$_GET['company']);
elseif ('edit' == $script)
$defaults[1] = Request::get($blockInfo['id'], 'pick', 1, 'eq');
|
Blox::prompt( $message, $errorType=null ) | Внести запись $message в лог сообщений системы. Если есть непустая переменная $errorType, то сообщение выводится красным цветом и параллельно записывается в лог ошибок. |
Blox::getInstancesOfTpl( $tpl, $options=[] ) | Возвращает массив исходных (не делегированных) блоков, использующих заданный шаблон $tpl.
# Фильтры:
$options = [
# Искать только на странице 55
'page-id' => 55,
# Если будет найден только один блок, то не применять
# опцию page-id – это ускорит исполнение метода
'ignore-page-id' => true,
# Исключить блок 99 из результирующего массива
'excluded-block'=> 99
];
Для булевых опций можно применять короткую форму записи. Подробности см. в описании метода Arr::formatOptions(), который и применен внутри описываемого метода. |
Blox::getBlockHtm( $regularId, $blockInfo=null ) | Возвращает HTML-код указанного блока |