Документация для разработчиков
Темная тема

AddGroupActionTable

Описание и формат входных параметров

void
CAdminList::AddGroupActionTable(
  array $arActions[,
  array $arParams = array()]
)

Метод служит для задания списка доступных групповых операций над элементами списка. Список возможных групповых операций задается в виде массива элементов вида "идентификатор_операции"=>"название_операции".

Формат входных параметров

Список действий

Список действий $arActions может задаваться двумя вариантами. Первый - упрощённый - в виде ассоциативного массива, содержащего пары "идентификатор_действия" => "название_пункта_меню". В этом случае пункт меню будет представлять собой ссылку на текущую страницу с дополнительным GET-параметром action=идентфикатор_действия, который должен обрабатываться на этапе сохранения изменений списка.

Во втором варианте - расширенном - каждый элемент массива $arActions представляет собой ассоциативный массив, содержащий следующие ключи:

Ключ Описание
action javascript-код, который будет выполнен при выборе пункта меню
type значение, описывающее внешний вид ссылки действия. Может принимать следующие значения:
  • button - действие будет отображаться в виде кнопки;
  • html - ссылка с текстом, определяемым в параметре value.
Если параметр содержит другое значение, или не определён, то действие будет выводиться в виде элемента выпадающего списка действий.
value значение определяет подпись действия ("название_пункта_меню" упрощённого варианта).

Оба типа задания списка действий можно использовать в одном массиве $arActions.

arParams

Настройка параметров действий представляет собой ассоциативный массив, который может содержать следующие ключи:

  • disable_action_target флаг, определяющий, будет ли появляться чекбокс "применить ко всем элементам";
  • select_onchange - javascript, который будет выполнен при выборе действия из выпадающего списка.

Пример (упрощённый вариант)

$lAdmin->AddGroupActionTable(Array(
  "delete"    => GetMessage("MAIN_ADMIN_LIST_DELETE"),
  "activate"  => GetMessage("MAIN_ADMIN_LIST_ACTIVATE"),
  "deactivate"=> GetMessage("MAIN_ADMIN_LIST_DEACTIVATE"),
));

Пример (расширенный вариант)

// показ формы с кнопками добавления, ...
$lAdmin->AddGroupActionTable(
  array(
    "delete" => GetMessage("MAIN_ADMIN_LIST_DELETE"),
    "access" => array(
      "action" => "setAccess('".str_replace("'", "\'", $site)."', '".str_replace("'", "\'", $path)."')",
      "value" => "access",
      "name" => GetMessage('FILEMAN_ADMIN_ACCESS_CMD')
    ),
    "copy" => GetMessage("FILEMAN_ADM_COPY"),
    "move" => GetMessage("FILEMAN_ADM_MOVE"),
    "copy2" => array(
      "type" => "html",
      "value" => " ".GetMessage("FILEMAN_ADMIN_IN")." "
    ),
    "copy1" => array(
      "type" => "html",
      "value" => $strHTML
    ),
  ),
  array("select_onchange"=>"this.form.copy_to_button.disabled=this.form.copy_to.disabled=!(this[this.selectedIndex].value == 'copy' || this[this.selectedIndex].value == 'move')")
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх