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

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-2024, «1С-Битрикс», 2024