Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Добавление нового блока на страницу». Вы узнаете экспертные методики работы с добавление нового и научитесь избегать типичных ошибок начинающих разработчиков.
Добавление нового блока на страницу
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- не указана обязательность параметров
- отсутствуют примеры
- отсутствует ответ в случае успеха
- отсутствует ответ в случае ошибки
- не прописаны ссылки на несозданные ещё страницы (3 ссылки раздела Сайты)
Scope: landing | Кто может выполнять метод: любой пользователь
Метод landing.landing.addblock добавляет новый блок на страницу. Возвращает идентификатор нового блока или ошибку.
Входящие параметры и конфигурация метода
| Метод | Описание |
|---|---|
lidunknown | Идентификатор страницы |
fieldsunknown | Массив полей блока, где из поддерживаемого пока только следующие значения: — CODE — символьный код блока. Код блока можно получить из метода landing.block.getrepository. Если добавляется блок, который был зарегистрирован партнером через landing.repo.register, то необходимо передавать для CODE значение repo_<ID>, где <ID> — идентификатор такого блока.— AFTER_ID — после какого блока (его ID) надо добавить новый блок (если не указано, блок добавится в начало) — ACTIVE — активность блока (Y/N) — CONTENT — полностью иное содержимое блока (см. замечания для метода landing.block.updatecontent) |
Практические примеры использования в коде
- JS
try
{
const response = await $b24.callMethod(
'landing.landing.addblock',
{
lid: 351,
fields: {
CODE: '15.social'
}
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'landing.landing.addblock',
[
'lid' => 351,
'fields' => [
'CODE' => '15.social'
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding block: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'landing.landing.addblock',
{
lid: 351,
fields: {
CODE: '15.social'
}
},
function(result)
{
if(result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Добавление нового блока на страницу» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru