backend_prod_mass_actions
Изменяет список массовых действий в разделе «Каталог → Товары» в интерфейсе Webasyst 2.
Shop-Script
Входящие параметры (передаются по ссылке)
- $params['actions']: Массив с информацией о доступных пользователю массовых действиях с товарами, который можно модифицировать в коде плагина: скрывать стандартные либо добавлять собственные действия и группы действий.
Добавляемые элементы действий и групп действий должны представлять собой подмассивы со следующими ключами:
- id: (для действий и групп действий) Строковый идентификатор, который должен начинаться с идентификатора плагина, чтобы избежать конфликтов с другими плагинами.
- name: (для действий и групп действий) Локализованный текст ссылки действия или название группы действий.
- icon: (только для действий) HTML/SVG-код иконки действия.
- pinned: (только для действий) Флаг, обозначающий отображение ссылки действия в горизонтальном меню. Если не указано true, то ссылка действия видна только во всплывающем вертикальном меню.
- redirect_url: (только для действий) URL, на который нужно перенаправить пользователя с передачей информации о списке выбранных товаров в GET-параметре 'products_hash'. Контроллер, обрабатывающий запросы к этому URL, должен содержать реализацию
нужного массового действия с товарами. Это значение должно быть указано, если не указано значение action_url. - action_url: (только для действий) URL, на который нужно отправить AJAX-запрос с передачей информации о списке выбранных товаров в POST-параметре 'products_hash'. Контроллер, обрабатывающий запросы к этому URL, должен содержать реализацию нужного
массового действия с товарами. Это значение должно быть указано, если не указано значение redirect_url. - actions: (только для групп действий) Массив со списком действий, входящих в группу. Каждое действие должно представлять собой массив с параметрами, описанными выше как доступные для действий.
… код плагина …
Результат работы плагина
Shop-Script
Пример кода плагина
PHP
public function shopProdMassActions(&$params) { $wa_app_url = wa()->getAppUrl(null, true); $params['actions']['organize']['actions'][] = [ 'id' => 'myplugin_action_1', 'pinned' => true, 'name' => _wp('My plugin’s action 1'), 'icon' => '<i class="fas fa-user"></i>', 'redirect_url' => $wa_app_url . 'myplugin/one/', ]; $params['actions']['myplugin_group'] = [ 'id' => 'myplugin_group', 'name' => _wp('My plugin’s action group'), 'actions' => [ [ 'id' => 'myplugin_action_2', 'name' => _wp('My plugin’s action 2'), 'icon' => '<i class="fas fa-user"></i>', 'redirect_url' => $wa_app_url . 'myplugin/two/', ] ], ]; }