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/',
            ]
        ],
    ];
}