AddGroupActionTable
Описание и формат входных параметров
void CAdminList::AddGroupActionTable( array $arActions[, array $arParams = array()] )
Метод служит для задания списка доступных групповых операций над элементами списка. Список возможных групповых операций задается в виде массива элементов вида "идентификатор_операции"=>"название_операции".
Формат входных параметров
Список действий
Список действий $arActions может задаваться двумя вариантами. Первый - упрощённый - в виде ассоциативного массива, содержащего пары "идентификатор_действия" => "название_пункта_меню". В этом случае пункт меню будет представлять собой ссылку на текущую страницу с дополнительным GET-параметром action=идентфикатор_действия, который должен обрабатываться на этапе сохранения изменений списка.
Во втором варианте - расширенном - каждый элемент массива $arActions представляет собой ассоциативный массив, содержащий следующие ключи:
| Ключ | Описание |
|---|---|
| action | javascript-код, который будет выполнен при выборе пункта меню |
| type | значение, описывающее внешний вид ссылки действия. Может принимать следующие значения:
|
| 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')")
);