getCurrentUrl()

Подписался на хук CRM backend_sidebar и решил проверить URL страницы на которой нахожусь. не могу понять почему такое поведение.

public function crm_hook_backend_sidebar() {
        $current_url = wa()->getRouting()->getCurrentUrl();
        echo $current_url;
        .......
}

Подскажите, почему в первом случае получается webasyst/crm/deal/2/, а во втором - webasyst/crm/? На одной и той же странице.

5 ответов

  • 1
    chikurov-seo 3 февраля 2022 02:21 #

    И почему вообще хук вызывается дважды на этой странице - /webasyst/crm/deal/2/, а на этой странице /webasyst/crm/deal/ 1 раз?

  • 1
    Михаил Ушенин Webasyst 3 февраля 2022 09:25 #

    Передали ваше сообщение разработчикам. Если от них поступит какой-то комментарий, то опубликуем его здесь. Или просто исправим ошибку в приложении и выпустим обновление, если это поведение будет признано однозначно ошибочным.

  • 1
    Eugen Nichikov 3 февраля 2022 15:34 #

    Хук вызывается при загрузке layout'а. При этом контент сайта в основном обновляется аяксом.

    Поэтому при хук вызывается по сути только при перезагрузке страницы.

  • 1
    Михаил Ушенин Webasyst 4 февраля 2022 14:22 #

    Для чего вам нужно получать URL текущей страницы именно в обработчике хука backend_sidebar? На первый взгляд, это надёжнее делать с помощью JavaScript, т. к. в PHP-коде может быть недоступным тот URL, который пользователь видит в адресной строке браузера, из-за особенностей маршрутизации запросов к PHP-контроллерам приложения. 

    • +1
      chikurov-seo chikurov-seo 4 февраля 2022 16:58 #

      Теперь уже незачем, решил задачу иным путем без необходимости проверять URL адрес страницы. 

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

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