1218еместо
uLogin - виджет авторизации через социальные сети « все идеи проекта

0

голосов

Версия 2.0.0 ulogin-livestreet не работает (Решено)

Вот тестовый сайт: http://ideachest.esy.es/, на котором установлена CMS Livestreet 1.0.3, установил плагин ulogin-ulogin-livestreet-1.0.3-6a7334, очень хорошо работала на ПК, на мобильных устройствах, как и у многих, не работала. Вычитал, что нужно ставить правильную версию: https://github.com/ulogin/ulogin-livestreet
Все следы старой удалил, удалил виджет в ЛК, установил плагин, настроил виджет, активировал плагин в соответствии с инструкцией и... Ничего не происходит. Кнопки авторизации даже не появляются, в отличие от предыдущей версии.
Я что-то делаю не так?

Mark Amelin, 21.03.2016, 18:40
Статус идеи: ожидает рассмотрения

Комментарии

Иван Пшеницын, 21.03.2016, 18:42
Здравствуйте.
Адрес сайта назовите, пожалуйста. Попробуем найти кнопки )
Mark Amelin, 21.03.2016, 18:45
Добрый день!
http://ideachest.esy.es/
В режиме инкогнито открывал. В мобильной версии так же.
Mark Amelin, 21.03.2016, 18:45
Могу и на боевом сайте попробовать запустить.
Mark Amelin, 21.03.2016, 18:50
uLogin ID: bd8013e9
Иван Пшеницын, 21.03.2016, 18:52
Так. Код виджета на странице присутствует. Но виджет не отрисовывается, потому что на странице не подключен скрипт ulogin.js.

Давайте попробуем найти проблему.
Нужный скрипт подключается в файле PluginUlogin.class.php на строке 46 кодом
$this->Viewer_AppendScript('//ulogin.ru/js/ulogin.js');
попробуйте следующее:
- добавить к адресу скрипта протокол http.
если ничего не изменилось, тогда проверим, вообще выполняется здесь код или нет:
- перед этой строкой поставьте exit('abc'), к примеру.
Mark Amelin, 21.03.2016, 19:07
$this->Viewer_AppendScript('http://ulogin.ru/js/ulogin.js'); - окно авторизации перестало быть всплывающим,
Добавление exit('abc') перед строкой - общий сбой
Иван Пшеницын, 21.03.2016, 19:33
Правильно - exit('abc');
с точкой с запятой.
Но неважно, добавление протокола, по всей видимости, помогло.
Окно авторизации перестало быть всплывающим потому что у вас насыпалась куча js ошибок.
У вас подключен какой-то минимизатор скриптов?
Mark Amelin, 21.03.2016, 20:04
Спасибо, исправил:
exit('abc');
$this->Viewer_AppendScript('http://ulogin.ru/js/ulogin.js');

Теперь показывает: abc

Нет, минимизатор не подключал, может быть хостинг-провайдер? Сейчас попробую на боевом сайте.
Иван Пшеницын, 21.03.2016, 20:05
Все, удалите abc, он не нужен)
Mark Amelin, 21.03.2016, 20:18
Создал в ЛК новый сайт и виджет. Установил плагин на боевой сайт от совсем другого хостера: http://ideachest.ru/
Результат, увы, тот же. Быть может, я не там плагин сам беру?
Брал здесь:https://github.com/ulogin/ulogin-livestreet
Иван Пшеницын, 21.03.2016, 20:23
Да, хостинг тут не при чем. Вы видите js-ошибки в консоли? Что-то у вас на сайте скачивает наш скрипт зачем-то, пытается его минимизировать и сшить в один файл с остальными скриптами. На каком-то этапе это не получается и все скрипта падают.

Либо отключите эту штуку, чем бы она ни была, либо (только что подумал об этом варианте) - просто добавьте наш скрипт в шапку шаблона, а ту строку с его подключением закомментируйте.
Mark Amelin, 22.03.2016, 00:04
>>просто добавьте наш скрипт в шапку шаблона
Имеется в виду это добавить в шапку?:

<script src="//ulogin.ru/js/ulogin.js"></script>
<div id="uLogin_*******" data-uloginid="*******"></div>
?

Или сам текст скрипта? Где взять? Из каталога:
public_html/plugins/ulogin/templates/skin/default/js
?
Mark Amelin, 22.03.2016, 00:09
Если первый вариант, то спасибо! Всё получилось. Только шаблон немного перекосило, но я надеюсь найти достойное место для кода виджета.
Иван Пшеницын, 22.03.2016, 00:20
Зашел ответить, а вы уже и сами разобрались) Да, я имел ввиду первый вариант. Только тег script и тег div можно разделить. Div у вас, по идее, уже выведен плагином где-то, не хватало только script. Но можете и разместить оба в подходящем месте.
Mark Amelin, 22.03.2016, 00:23
Получилось, когда я выкинул <div>!
Mark Amelin, 22.03.2016, 00:26
Иван!
Преогромнейшее спасибо Вам!

Наконец-то всё получилось, будем с любимой женой (а сайт (блог) делается именно для неё тестировать, но я уверен, что проблем не будет.
Надеюсь изыскать возможность отблагодарить этот замечательный проект скромным донатом.
Иван Пшеницын, 22.03.2016, 00:33
Очень рад, что смог помочь!
Удачи вам и вашей супруге с блогом!
Если вдруг появятся какие-то вопросы - пишите незамедлительно. Можно и сразу на почту team@ulogin.ru
Всегда готовы вам помочь!
Mark Amelin, 21.03.2016, 20:28
Благодарю. Буду пробовать.
1qaz, 22.03.2016, 12:09
В LS используется сжатиеи слияние js (опционально через конфиг):
https://github.com/livestreet/livestreet/blob/1.0.3/config/config.php#L560-L561 - конфиг
https://github.com/livestreet/livestreet/blob/1.0.3/engine/lib/external/JSMin-1.1.1/jsmin.php - либа
https://github.com/livestreet/livestreet/blob/1.0.3/engine/modules/viewer/Viewer.class.php#L20 - подключение

Вероятно проблема именно со слиянием и можно попробовать сделать так:
$sScript = 'http://ulogin.ru/js/ulogin.js';
$this->Viewer_AppendScript($sScript, array("merge" => false));
Иван Пшеницын, 22.03.2016, 12:16
Огромное спасибо за подсказку! Полагаю, это должно сработать.
Надеюсь, Mark Amelin заглянет сюда и поможет нам протестировать это решение?
Нужно убрать <script> из шаблона и заменить строку
$this->Viewer_AppendScript('http://ulogin.ru/js/ulogin.js');
на предложенный вариант.
Mark Amelin, 22.03.2016, 20:35
Обязательно попробую (возможно, даже сегодня, если успею) и дам ссылки на тестируемые сайты от разных хостеров. Интересно же докопаться до истины!
Mark Amelin, 22.03.2016, 20:49
http://ideachest.ru/

Сделал пока здесь. Всё заработало. Возможно это субъективно, но сайт стал грузиться медленней немного. Чуть позже попробую провести объективный анализ с разными вариантами и замером скорости.
Иван Пшеницын, 24.03.2016, 00:40
Отлично, что заработало. В таком случае, нам стоит добавить эту правку в код модуля у себя, чтобы таких проблем больше ни у кого не возникало.
Насчёт замедления загрузки посмотрю завтра, есть одна мысль, но считаю, что это маловероятно. Будет очень здорово, если замерите скорость в обоих вариантах.
Mark Amelin, 23.03.2016, 20:26
http://blog.nethack-rutext.ru/ - это тоже мой сайт, здесь плагин срабатывает тоже, но немного иначе, хотя движок и всё остальное 1:1 с предыдущим сайтом. Неприятное (об этом писали уже) обнаруживается при первой авторизации. Досадное окно "Закончило свою работу и должно быть закрыто" висит.
На компьютере -- это не проблема, вот он, крестику в углу, а вот на мобильных устройствах, особенно смартфонах -- это настоящая проблема.
Странно. Сайты-близнецы, фактически, а такое разное поведение.
Иван Пшеницын, 24.03.2016, 00:43
Думаю, появление этого окна даже на десктопе очень неприятно, особенно, учитывая, что авторизация в итоге не срабатывает)
Посмотрю завтра утром, надеюсь, получится найти проблему. С этим окном решение, обычно, где-то на поверхности.
Mark Amelin, 22.03.2016, 20:59
Строки подряд расположить, верно?
$sScript
$this->

Оставить комментарий