Блог Горошко Андрея Bitrix24 Выполнить массовое изменение карточек блока landing.block.updateCards

Выполнить массовое изменение карточек блока landing.block.updateCards

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Выполнить массовое изменение карточек блока landing.block.updateCards». Вы узнаете экспертные методики работы с landing.block.updateCards и научитесь избегать типичных ошибок начинающих разработчиков.

Выполнить массовое изменение карточек блока landing.block.updateCards

Тут может не хватать некоторых данных — дополним в ближайшее время

> Scope: landing
>
> Кто может выполнять метод: любой пользователь

Метод landing.block.updateCards для массового изменения карточек блока. Вернет _true_ в случае успеха, или ошибку.

Предупреждение
1. Метод полностью удалит текущие карточки блока.
2. Метод специфический и рекомендуется к применению только если ваши задачи не решает landing.block.updatenodes.

Входящие параметры и конфигурация метода

ПараметрОписание
lid
unknown
Идентификатор страницы.
block
unknown
Идентификатор блока.
data
unknown
Массив для изменения. Для пояснения смотрите пример. Опционально можно передавать пресеты карточек.
Обратите внимание, селекторы формируются по похожему методу формирования в _landing.block.updatenodes_.

Практические примеры использования в коде

  • JS
    try
    {
    	const response = await $b24.callMethod(
    		'landing.block.updateCards',
    		{
    			lid: 2856,
    			block: 25458,
    			data: {
    				//воздействуем на данный селектор карточки
    				// (можно передавать и другие селекторы одновременно)
    				'.landing-block-card': {
    					//останется только данное кол-во карточек, у которых
    					//будут изменены только указанные ноды;
    					//для клонирования будет браться первая карточка
    					'values': [
    						{
    							'.landing-block-node-title': 'New title 0'
    						},
    						{
    							'.landing-block-node-title': 'New title 1'
    						},
    						{
    							'.landing-block-node-title': 'New title 2'
    						}
    					],
    					//опционально можно применить пресеты карточек (ключ - порядковый номер карточки, начиная с 0)
    					'presets': {
    						'1': 'preset_h2'
    					}
    				}
    			}
    		}
    	);
    	
    	const result = response.getData().result;
    	console.info(result);
    }
    catch(error)
    {
    	console.error(error);
    }
  • PHP
    try {
        $response = $b24Service
            ->core
            ->call(
                'landing.block.updateCards',
                [
                    'lid'   => 2856,
                    'block' => 25458,
                    'data'  => [
                        '.landing-block-card' => [
                            'values'  => [
                                [
                                    '.landing-block-node-title' => 'New title 0'
                                ],
                                [
                                    '.landing-block-node-title' => 'New title 1'
                                ],
                                [
                                    '.landing-block-node-title' => 'New title 2'
                                ]
                            ],
                            'presets' => [
                                '1' => 'preset_h2'
                            ]
                        ]
                    ]
                ]
            );
    
        $result = $response
            ->getResponseData()
            ->getResult();
    
        echo 'Success: ' . print_r($result, true);
        // Нужная вам логика обработки данных
        processData($result);
    
    } catch (Throwable $e) {
        error_log($e->getMessage());
        echo 'Error updating landing block cards: ' . $e->getMessage();
    }
  • BX24.js
    BX24.callMethod(
        'landing.block.updateCards',
        {
            lid: 2856,
            block: 25458,
            data: {
                //воздействуем на данный селектор карточки
                // (можно передавать и другие селекторы одновременно)
                '.landing-block-card': {
                    //останется только данное кол-во карточек, у которых
                    //будут изменены только указанные ноды;
                    //для клонирования будет браться первая карточка
                    'values': [
                        {
                            '.landing-block-node-title': 'New title 0'
                        },
                        {
                            '.landing-block-node-title': 'New title 1'
                        },
                        {
                            '.landing-block-node-title': 'New title 2'
                        }
                    ],
                    //опционально можно применить пресеты карточек (ключ - порядковый номер карточки, начиная с 0)
                    'presets': {
                        '1': 'preset_h2'
                    }
                }
            }
        },
        function(result)
        {
            if(result.error())
            {
                console.error(result.error());
            }
            else
            {
                console.info(result.data());
            }
        }
    );

💡 Экспертное мнение и рекомендации

Ключевые выводы по теме «Выполнить массовое изменение карточек блока landing.block.updateCards»:

Использование современных стандартов D7 при работе с landing.block.updateCards позволяет писать чистый, масштабируемый и безопасный код. Не забывайте обрабатывать исключения (try/catch) и проверять права доступа текущего пользователя перед выполнением критических операций.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Событие при изменении комментария OnTaskCommentUpdateСобытие при изменении комментария OnTaskCommentUpdate

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Событие при изменении комментария OnTaskCommentUpdate». Вы узнаете экспертные методики работы с событие изменении

Получить список действий над задачей task.item.getallowedactionsПолучить список действий над задачей task.item.getallowedactions

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Получить список действий над задачей task.item.getallowedactions». Вы узнаете экспертные методики работы с task.item.getallowedactions

Как использовать метод SDK crm.quote.contact.fields в Битрикс24Как использовать метод SDK crm.quote.contact.fields в Битрикс24

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Как использовать метод SDK crm.quote.contact.fields в Битрикс24». Мы подготовили подробный разбор принципов работы и развернутые