Как получить данные активного поселения?

info@ravencode.ru

Есть ли готовый метод для получения инфы по открытому поселению?

20 июля 2016
  • Rat 20 июля 2016 14:37
    waRequest::param()

    ?

  • info@ravencode.ru 20 июля 2016 17:43

    Да забыл добавить что речь про фронтенд.

    Rat, параметры не содержат инфу о поселении.

  • Rat 20 июля 2016 17:44

    А какая именно информация интересует? И где конкретно вы её пытаетесь получить?

  • info@ravencode.ru 20 июля 2016 17:52

    Rat, у меня плагин который позволяет задать уникальный водный знак для каждого поселения.

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

        protected static $settlement;
    
        public static function getSettlement()
        {
            if (!self::$settlement) {
                $app = wa();
                if ($app->getEnv() == 'backend' || waRequest::get('settlement', false)) {
                    self::$settlement = waRequest::get('settlement');
                } else {
                    $config = $app->getConfig();
                    $domain = $config->getDomain();
                    $url = $config->getRequestUrl(false);
                    $domains = $app->getRouting()->getByApp('shop');
                    foreach ($domains[$domain] as $route) {
    
                        if (strpos($url, '/' . rtrim($route['url'], '*')) === 0) {
                            self::$settlement = md5($domain . '/' . $route['url']);
                            break;
                        }
                    }
                }
            }
            return self::$settlement;
        }

    хотелось бы оптимизировать как-то.


  • Rat 20 июля 2016 18:03

    Может, примерно так?

    $routing = wa()->getRouting();
    $settlement = $routing->getDomain().'/'.$routing->getRoute('url');
  • info@ravencode.ru 20 июля 2016 18:14

    спасибо, то что нужно, про $routing->getRoute('url') раньше не слышал



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