Привет сообществу! Ситуация такова:
- Drupal 7.59
- Image Lazyloader 7.x-2.0 + к нему библиотека echo для работы модуля
- А так же Libraries 7.x-2.4 что бы все это заработало.
Итог: на проекте внедрен этот модуль и вроде бы все работало до поры до времени.
Сегодня пытались загрузить изображение, в результате:
- Ошибок в отладчике браузера нет
- Ошибок в журнале Друпал нет
- Превью изображения не появляется
На сайте никаких обновлений не производилось. Откатился к Бэкапу за август. - тоже самое.
Конструкция вставки изображений не менялась:
<p><a href="/sites/default/files/inline/images/image.jpg" target="_blank"><img src="/sites/all/modules/lazyloader/image_placeholder.gif" data-echo="/sites/default/files/styles/content_574/public/inline/images/image.jpg" alt="" /></a></p>
Что в итоге:
На сайте 11 типов материалов.
Во всех старых материалах, за исключением 2 страниц lazyload работает.
В новых публикациях изображение не отображается. Такое ощущение, что модуль почему-тоне работает на этой странице.
В настройках самого модуля, он выключен только на страницах
admin/*
node/add/*
node/*/edit
Если это убрать - не помогает.
Стал думать, почему работает не во всех типах материалов, ведь в настройках модуля он должен работать во всех.
Подумал что какое-то поля/вьюхи/скрипты конфликтуют.
Перенес все на локаллхост и стал по одному пункту удалять (поля, вьюхи)
В итоге дошел до чистого типа материала типа Basic Page и модуль все равно не работает в этом типе.
- На странице нет никаких полей, кроме заголовка и body. с форматом текста что поддерживает lazyload и html.
- На странице нет лишних/отличающихся скриптов от тех, на которых lazy работает
- На странице нет вьювс представлений
В итоге я просто не могу понять куда даже копать, ведь ошибок нет ни в консоли, ни в логах. Почему в одном типе материала работает, а в другом нет (однако в старых статьях тоже работает).
Чем новые статьи тогда отличаются от старых?
Я пробовал старую статью в одном типе материала полностью скопировать в тот же тип материала ничего не изменяя.
И в новой статье lazy не работает. А в старой работает.
Прочитал все "Ишью" в официальной ветке модуля. Такого нет.
Я понятия не имею в чем может быть дело....
Комментарии
В "отладчике браузера" на вкладке Network (Сеть) тоже ошибок нет? (все запросы выполняются успешно?)
Проверьте загрузку, необходимых для работы модуля, js-скриптов и css-файлов, на нужных страницах (на которых модуль не работает).
Обновляли наверное недавно сайт и какой-то патч затерли или же несовместимость какая-то появилась. А какая - смотреть надо, сдается мне какой-то js-скрипт глючит
Нет, сайт не обновлялся. + мы делали бэкап к августу и ранее - тоже самое
Ошибок нет, но скрипт echo.js и lazyloader.js не выполняются. Т.е. они даже не пытаются сделать попытку загрузиться. Как-будто модуль не инициируется на странице и не в курсе что надо работать.
Самое странное и не понятное в этом, что если на той странице, где эти скрипты не загружаются вывести в сайдбаре блок views с изображением, то скрипты загружаются и lazyloader работает. Видимо эти скрипты вызывает этот блок views, и раз уж lazyloader загрузился, то он работает и в теле страницы.
Но опять-таки странность в том, почему lazyloader работает на старых страницах без блока views. По этой логике без этого блока lazyloader не должен запускаться. Но он работает. А в новых страницах он "требует" что бы в сайдбаре было представление views.
Сделал тест:
"Старая" страница - сайдабар и блоков views нет вообще нигде. lazy и библиотека echo загружаются и изображения работают
Новая страница в том же типе материала. Так же нет сайдбаров и блоков views. Не вызывается ни lazy ни echo.js.
Далее полностью копирую старую статью: все значения полей, все настройки публикации.
Итог: в новой копии изображения не работают.
То есть две недели назад что ли? Может тогда уже проблема была, нет бэкапа эдак весеннего?