- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/publicaction/block.php
- Класс: Bitrix\Landing\PublicAction\Block
- Вызов: Block::getList
static function getList($lid, array $params = array())
{
static $mixedParams = ['lid'];
$result = new PublicActionResult();
$lids = is_array($lid) ? $lid : [$lid];
// some params
if (
isset($params['edit_mode']) &&
$params['edit_mode']
)
{
Landing::setEditMode();
}
// get list
$data = array();
foreach ($lids as $lid)
{
$lid = intval($lid);
$landing = Landing::createInstance($lid, array(
'deleted' => isset($params['deleted']) && $params['deleted']
));
if ($landing->exist())
{
foreach ($landing->getBlocks() as $i => $block)
{
if ($manifest = $block->getManifest())
{
$data[$i] = array(
'id' => $block->getId(),
'lid' => $lid,
'code' => $block->getCode(),
'name' => $manifest['block']['name'],
'active' => $block->isActive(),
'meta' => $block->getMeta()
);
// stringify meta
foreach ($data[$i]['meta'] as &$meta)
{
$meta = (string)$meta;
}
unset($meta);
// buffer content
if (
isset($params['get_content']) &&
$params['get_content']
)
{
ob_start();
$block->view(false, $landing);
$data[$i]['content'] = ob_get_contents();
$data[$i]['css'] = $block->getCSS();
$data[$i]['js'] = $block->getJS();
ob_end_clean();
}
}
}
}
$result->setError($landing->getError());
}
$result->setResult(array_values($data));
return $result;
}