backend_extended_menu

Добавляет дополнительные разделы и ссылки в главное меню в интерфейсе Webasyst 2.

Shop-Script

Входящие параметры (передаются по ссылке)


  • $params['options']: Массив параметров меню со следующими ключами:

    • inline_icons: Флаг, обозначающий необходимость вернуть сгенерированный SVG-код иконок для пунктов главного меню, — в случае, если в интерфейсе недоступен механизм генерирования иконок Font Awesome (когда пользователь работает в режиме интерфейса
      1.3).



  • $params['menu']: Массив с информацией о разделах и пунктах меню, в который можно добавить собственные элементы. Ключи добавленных элементов должны начинаться на идентификатор плагина, чтобы избежать конфликтов с другими плагинами. Добавленные подмассивы с пунктами и разделами меню должны содержать следующие элементы:

    • name: Локализованный текст ссылки или раздела.

    • icon: HTML/SVG-код иконки для ссылки или раздела.

    • url: URL ссылки. Должен быть пустым, если заполнен элемент 'submenu' (в этом случае элемент меню является раскрывающимся разделом, а не ссылкой).

    • submenu: Массив вложенных элементов-ссылок, если добавляемый пункт должен быть раскрывающимся разделом.



      Собственные элементы в массив с ключом 'submenu' можно добавлять также для стандартных разделов меню — только в том случае, если в них уже есть этот ключ.

      Каждый элемент этого массива должен представлять собой подмассив со следующими ключами:

      • name: Локализованный текст ссылки.

      • url: URL ссылки.





… код плагина …

Результат работы плагина

Shop-Script

Пример кода плагина

PHP

public function backendExtendedMenu(&$params)
{
    $wa_app_url = wa('shop')->getAppUrl(null, true);

    $params['menu']['myplugin_item'] = [
        "name" => _wp("My plugin’s item"),
        "icon" => '<i class="fas fa-user"></i>',
        "url" => "{$wa_app_url}myplugin/",
    ];

    $params['menu']['myplugin_submenu'] = [
        "name" => _wp("My plugin’s submenu"),
        "icon" => '<i class="fas fa-user"></i>',
        "url" => "",
        "submenu" => [
            [
                "name" => _wp("Item 1"),
                "url" => "{$wa_app_url}myplugin/one/",
            ],
            [
                "name" => _wp("Item 2"),
                "url" => "{$wa_app_url}myplugin/two/",
            ],
        ],
    ];
}