Определить поселение Есть решение

Плагин вызывается при срабатывании хука. Есть-ли какой-то специальный метод, чтобы определить домен и поселение? Планирую просто плагин с разными настройками для разных поселений…

Разобрать самостоятельно URL, получить список поселений приложения, перебрать его я могу. Но, можеет, есть уже какой-то готовый метод? :)

1 ответ

  • 1
    Михаил Ушенин Webasyst 23 февраля 2015 05:30 # Решение

    $routing = wa()->getRouting();
    $domain = $routing->getDomain();
    $settlement = $routing->getRoute('url');

    • +1

      Два поселения у shop:

      test/*

      sub.test/shop/*

      Надо определить, к какому поселению относится url test/cart/

      увы, ни $wa()->getRouting->getRoute('test/cart'), ни $wa()->getRouting->getRoute('http://test/cart'), ни $wa()->getRouting->getRoute('http://test/cart/') не работает.

      Похоже, таки придется $wa()->getRouting->getByApp('shop'), найти домен и перебирать роуты — может же быть у домена быть несколько поселений магазина, в принципе-то... :-/

      • +2
        Леонид Вакуленко Леонид Вакуленко Webasyst 23 февраля 2015 07:20 #

        $route = wa()->getRouting()->getRoute();

        $route - это будет массив поселения приложения из wa-config/routing.php

        $route['url'] в первом случае будет 'test/*', во втором случае 'sub.test/shop/*'.

        wa()->getRouting()->getRoute('url') - это тот же $route['url'], только без создания дополнительной переменной.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите