YuriBtr 58 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 Здравствуйте, обновлял движок на рабочем сайте с 10.2 на 10.3 и появились многочисленные проблемы с шаблоном (измененный Default). Если удаляешь комментарий под новостью или заходишь в быстрое редактирование статьи - то показывается модальное окно (с классом modalfixed, и описанием dlepopup или dlepopup-news-edit). Однако вновь созданному модальному окну присваивается позиция не от начала экрана, а от начала сайта, что вкупе с позицией fixed приводит к тому, что модальное окно просто уезжает вниз и его невозможно увидеть и прокрутить: Как можно заставить скрипт, формирующий это окно либо ставить position:absolute, либо считать правильно смещение относительно начала экрана (это предпочтительно). P.S. По рекомендациям проводил апгрейд шаблонов (css и tpl обновлял, libs.js заменил), но не помогает. А вот исходный шаблон Default правильно показывает окно. Следовательно проблема в моем шаблоне. Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 2 часа назад, YuriBtr сказал: Как можно заставить скрипт, формирующий это окно либо ставить position:absolute в основной css пропиши: .ui-dialog {position:absolute !important;} а вообще, вроде во втором .css файле (engine.css) описан .ui-dialog. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 Автор 2 часа назад, odys сказал: в основной css пропиши: .ui-dialog {position:absolute !important;} а вообще, вроде во втором .css файле (engine.css) описан .ui-dialog. Спасибо, я в принципе могу прописать этот фикс. Но не хотелось бы ставить position:absolute. Тогда при прокрутке страницы модальное окно тоже прокручивается. На самом деле проблема глубже - почему то на другом шаблоне свойство top вычисляется правильно. Вот и хотелось бы понять - как и где оно вычисляется. Перерыл весь шаблон - не могу понять какой скрипт высчитывает top Цитата Ссылка на сообщение Поделиться на других сайтах
germanydletest 455 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 8 минут назад, YuriBtr сказал: Перерыл весь шаблон - не могу понять какой скрипт высчитывает top /engine/classes/js/dle_js.js не сжатая версия лежит /Developer/uncompressed/dle_js.js в архиве с дистрибутивом Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 Автор 33 минуты назад, germanydletest сказал: /engine/classes/js/dle_js.js не сжатая версия лежит /Developer/uncompressed/dle_js.js в архиве с дистрибутивом Нет, данный скрипт я уже смотрел. Он не зависит от выбранного шаблона (а в дефолтном шаблоне как раз все ОК). Интересная там только функция "DLEconfirm", которая присваивает CSS свойство position:"fixed" классу .modalfixed.ui-dialog. Но это мне менять не хочется. Я хочу понять где идет подсчет значения top для модального окна. Тогда будет понятно - почему берется неправильное смещение. Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 12 минуты назад, YuriBtr сказал: Я хочу понять где идет подсчет значения top для модального окна. /engine/classes/js/jqueryui.js там top считается в зависимости от размера окна Думаю стоит пересмотреть и упростить вёрстку, что-то с position перемудрено у тебя Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 (изменено) Автор 11 минуту назад, odys сказал: /engine/classes/js/jqueryui.js там top считается в зависимости от размера окна Думаю стоит пересмотреть и упростить вёрстку, что-то с position перемудрено у тебя Ага, вот уже вроде ближе, спасибо! При переходе на 10.3 оказалось что в моих шаблонах не подключен JQuery (хотя {info} и {AJAX} в шаблоне есть), пришлось в header в main.tpl добавить <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> JQuery UI пришлось также подключить - так как отсутствовало оформление редактора добавления новостей (addnews.tpl). И похоже выходит конфликт между jQuery UI - v1.9.2, которая находится в /engine/classes/js/jqueryui.js и той библиотекой которая подключена принудительно в main.tpl (версия 1.11.1) А верстка у меня обычная - на DIVах - header, три резиновые колонки и footer. Ничего странного. Просто видимо идет конфликт библиотек. А как у вас подключается jQuery ? Изменено 17 апреля 2016 пользователем YuriBtr Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 (изменено) Автор Вобщем подключил я в main.tpl в явном виде " /engine/classes/js/jqueryui.js" и все заработало как прежде! Одного не могу понять, ни в оригинальном Default шаблоне, ни в моем старом шаблоне с версии 10.2 в явном виде не подключался ни jqueryui.js ни ядро jQuery - они откуда то сами подключались... А сейчас мне пришлось вручную подключать их. И к тому же ядро jQuery используется версии 1.11.1 а вот jQuery UI - v1.9.2, так как с версией jQuery UI 1.11.1 возникает проблема. Самое главное что оно как то работает, хотя источник проблемы неясен. Спасибо всем. И если у кого нибудь будут объяснения по тому как нормально подключать jQuery - прошу сообщить. Изменено 17 апреля 2016 пользователем YuriBtr Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 17 апреля 2016 Рассказать Опубликовано: 17 апреля 2016 3 часа назад, YuriBtr сказал: как нормально подключать jQuery - прошу сообщить. в main.tpl в head достаточно прописать {headers} и всё, всё само подключиться. И jquery и jqueryui, если конечно файлы движка не менялись, но судя по тому, что в дефолтном шаблоне всё работает, ни чего не менялось. Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 18 апреля 2016 Рассказать Опубликовано: 18 апреля 2016 Автор 10 часов назад, odys сказал: в main.tpl в head достаточно прописать {headers} и всё, всё само подключиться. И jquery и jqueryui, если конечно файлы движка не менялись, но судя по тому, что в дефолтном шаблоне всё работает, ни чего не менялось. В том то и дело, что {headers} прописан сразу после <head>, но подключения jQuery не происходит. И опять же - оно как то работало в 10.2. А тут после обновления пропало. Ладно, буду постепенно обновлять движок дальше - там будет видно, может само исправится. Цитата Ссылка на сообщение Поделиться на других сайтах
odys 384 Опубликовано: 18 апреля 2016 Рассказать Опубликовано: 18 апреля 2016 5 часов назад, YuriBtr сказал: В том то и дело, что {headers} прописан сразу после <head>, но подключения jQuery не происходит. дай ссылку на сайт Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 18 апреля 2016 Рассказать Опубликовано: 18 апреля 2016 (изменено) Автор 2 часа назад, odys сказал: дай ссылку на сайт вот этот сайт Благодарю за помощь. Изменено 18 апреля 2016 пользователем YuriBtr Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 18 апреля 2016 Рассказать Опубликовано: 18 апреля 2016 Все у вас на сайте подключается, только вы по непонятным причинам еще раз эти библиотеки дублируете в шаблоне, поэтому и сбой происходит. Убирайте из своего шаблона как подключение jquery, так и jqueryui Цитата Ссылка на сообщение Поделиться на других сайтах
YuriBtr 58 Опубликовано: 18 апреля 2016 Рассказать Опубликовано: 18 апреля 2016 Автор 1 час назад, celsoft сказал: Все у вас на сайте подключается, только вы по непонятным причинам еще раз эти библиотеки дублируете в шаблоне, поэтому и сбой происходит. Убирайте из своего шаблона как подключение jquery, так и jqueryui Да, действительно. Сейчас все работает и без явного подключения скриптов. Не знаю что и думать. Возможно у меня были ошибки в сторонних скриптах и из за этого не подключались правильно библиотеки jquery. Спасибо, тему можно закрыть. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.