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')") );