Групповые действия в админке (AddGroupActionTable)
Выполнять код к выбранным элементам можно через метод $lAdmin->AddGroupActionTable()
, который добавляет кнопки под таблицей записей.
$lAdmin->AddGroupActionTable([ 'activate' => 'Активировать', 'deactivate' => 'Деактивировать', ]);
В результате сгенерируется код:
Проверить, что надо применять код к выбранным элементам можно через метод $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('Ошибка выполнения кода');
В результате будет сгенерирована ошибка.
Поддержать автора