Групповые действия в админке (AddGroupActionTable)

Выполнять код к выбранным элементам можно через метод $lAdmin->AddGroupActionTable(), который добавляет кнопки под таблицей записей.

$lAdmin->AddGroupActionTable([
    'activate'   => 'Активировать',
    'deactivate' => 'Деактивировать',
]);

В результате сгенерируется код:

Bitrix. AddGroupActionTable

Проверить, что надо применять код к выбранным элементам можно через метод $lAdmin->GroupAction().

if ($lAdmin->GroupAction()) {
    // Выполнять код для выбранных элементов
}

Данный метод возвращает ИД выбранных элементов (или «false», если элементов не выбрано).

Пример выполнения кода, если выбран пункт «Активировать» или «Деактивировать».

if ($arID = $lAdmin->GroupAction()) {
    foreach ($arID as $id) {
        
        switch ($_POST['action']) {
            case 'activate':
                // код, если выбрано "Активировать"
                break;
            case 'deactivate':
                // код, если выбрано "Деактивировать"
                break;
        }

    }
}

Также надо убедиться, что есть метод $lAdmin->CheckListMode() перед подключением файла «prolog_admin_after.php», чтобы можно было выполнять код через Ajax.

// режим вывода (для Ajax)
$lAdmin->CheckListMode();

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");

Для всех элементов

Проверить, что выбран пункт «Для всех» можно через запрос $_POST['action_target'].

if ($_POST['action_target'] && $_POST['action_target'] == 'selected') {
    // Код, если выбран пункт "Для всех"
}

Когда отмечен пункт «Для всех», то надо будет выбрать записи из текущей страницы и применить к ним код.

Сообщение об ошибке

Вывести сообщение об ошибке можно через метод $lAdmin->AddGroupError().

$lAdmin->AddGroupError('Ошибка выполнения кода');

В результате будет сгенерирована ошибка.

Bitrix. AddGroupError