We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 50149
    • 5 Posts
    Доброго времени суток.
    Работаю над двуязычным сайтом, соответственно есть 2 контекста - web и en.
    hybridauth вызываю так [[!HybridAuth? &providers=`Vkontakte` &addContexts=`en,web`]]
    В контексте web авторизация работает без проблем, в контексте en происходит запрос к провайдеру и возврат на сайт, но авторизации не происходит.
    Первым делам начал копать правильность настройки контекстов и свой плагин для их переключения. Все безрезультатно.
    Затем, для чистоты эксперимента залез в index.php в корне сайта и попробовал проинициализировать контекст en оттуда - авторизация работала как надо.
    Далее попробовал переключать контекст из index.php, и проблема локализовалась. Сейчас ситуация такая:

    авторизация работает
    /* Initialize the default 'web' context */
    $modx->initialize('web');



    тоже работает
    /* Initialize the default 'web' context */
    $modx->initialize('en');



    не работает
    /* Initialize the default 'web' context */
    $modx->initialize('web');
    $modx->switchContext('en');



    внезапно работает!
    /* Initialize the default 'web' context */
    $modx->initialize('web');
    $modx->switchContext('en');
    $modx->switchContext('web');



    Из чего делаю вывод, что от чего то hybridauth работает только в проинициализированном контексте, а нужно иметь возможность переключать его из плагина вызовом $modx->switchContext()
    Ломаю голову второй день! Спасайте! [ed. note: aliasnameless last edited this post 10 years, 9 months ago.]