routing

Позволяет плагинам добавлять собственные правила маршрутизации для страниц витрины или панели управления.

Доступно начиная с версии 5.1.0.

Shop-Script

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

$route array Параметры маршрутизации текущей витрины либо панели управления магазина.
$route['url'] string Адрес текущей витрины либо панели управления магазина с символом '*' в конце.
… код плагина …

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

$return
Массив дополнительных правил маршрутизации в виде ассоциативного массива, указанные аналогично содержимому конфигурационного файла приложения routing.php. Чтобы правила маршрутизации работали только в панели управления или только на витрине, при возврате результата проверяйте значение, возвращаемое методом wa()->getEnv().
Shop-Script

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

PHP

public function routingHandler($route)
{
    if (wa()->getEnv() == 'frontend') {    
        return [
            // Requests at the URL matching pattern '[storefront_url]/[plugin_id]/page/'
            // must be processed by a class with the name matching pattern `shop[Plugin_id]PluginFrontend[Controller|Action]`.
            $this->id . '/page/' => 'frontend/page',

            // extended format
            // $this->id . '/page/' => [
            //     'module' => 'frontend',
            //     'action' => 'page',
            // ],
        ];
    }
}