Перейти к публикации

Проблема с модальными окнами


Рекомендованные сообщения

Здравствуйте, обновлял движок на рабочем сайте с 10.2 на 10.3 и появились многочисленные проблемы с шаблоном (измененный Default). Если удаляешь комментарий под новостью или заходишь в быстрое редактирование статьи - то показывается модальное окно (с классом modalfixed, и описанием dlepopup или dlepopup-news-edit). Однако вновь созданному модальному окну присваивается позиция не от начала экрана, а от начала сайта, что вкупе с позицией fixed приводит к тому, что модальное окно просто уезжает вниз и его невозможно увидеть и прокрутить:

 

0ee7cef954c621c1c29f5779c3a70c6a.jpg

 

Как можно заставить скрипт, формирующий это окно либо ставить position:absolute, либо считать правильно смещение относительно начала экрана (это предпочтительно).

 

P.S. По рекомендациям проводил апгрейд шаблонов (css и tpl обновлял, libs.js заменил), но не помогает. А вот исходный шаблон Default правильно показывает окно. Следовательно проблема в моем шаблоне.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, YuriBtr сказал:

Как можно заставить скрипт, формирующий это окно либо ставить position:absolute

в основной css пропиши: .ui-dialog {position:absolute !important;}

а вообще, вроде во втором .css файле (engine.css) описан .ui-dialog.

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, odys сказал:

в основной css пропиши: .ui-dialog {position:absolute !important;}

а вообще, вроде во втором .css файле (engine.css) описан .ui-dialog.

Спасибо, я в принципе могу прописать этот фикс. Но не хотелось бы ставить  position:absolute. Тогда при прокрутке страницы модальное окно тоже прокручивается.

На самом деле проблема глубже - почему то на другом шаблоне свойство top вычисляется правильно. Вот и хотелось бы понять - как и где оно вычисляется. Перерыл весь шаблон - не могу понять какой скрипт высчитывает top

Ссылка на сообщение
Поделиться на других сайтах
8 минут назад, YuriBtr сказал:

Перерыл весь шаблон - не могу понять какой скрипт высчитывает top

/engine/classes/js/dle_js.js

не сжатая версия лежит /Developer/uncompressed/dle_js.js в архиве с дистрибутивом

Ссылка на сообщение
Поделиться на других сайтах
33 минуты назад, germanydletest сказал:

/engine/classes/js/dle_js.js

не сжатая версия лежит /Developer/uncompressed/dle_js.js в архиве с дистрибутивом

Нет, данный скрипт я уже смотрел. Он не зависит от выбранного шаблона (а в дефолтном шаблоне как раз все ОК). Интересная там только функция "DLEconfirm", которая присваивает CSS свойство position:"fixed" классу .modalfixed.ui-dialog. Но это мне менять не хочется. Я хочу понять где идет подсчет значения top для модального окна. Тогда будет понятно - почему берется неправильное смещение.

Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, YuriBtr сказал:

Я хочу понять где идет подсчет значения top для модального окна.

/engine/classes/js/jqueryui.js там top считается в зависимости от размера окна

Думаю стоит пересмотреть и упростить вёрстку, что-то с position перемудрено у тебя

 

 

Ссылка на сообщение
Поделиться на других сайтах
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 ?

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах

Вобщем подключил я в 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 - прошу сообщить.

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, YuriBtr сказал:

как нормально подключать jQuery - прошу сообщить.

в main.tpl в head достаточно прописать {headers} и всё, всё само подключиться. И jquery и jqueryui, если конечно файлы движка не менялись, но судя по тому, что в дефолтном шаблоне всё работает, ни чего не менялось.

Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, odys сказал:

в main.tpl в head достаточно прописать {headers} и всё, всё само подключиться. И jquery и jqueryui, если конечно файлы движка не менялись, но судя по тому, что в дефолтном шаблоне всё работает, ни чего не менялось.

В том то и дело, что {headers} прописан сразу после <head>, но подключения jQuery не происходит. И опять же - оно как то работало в 10.2. А тут после обновления пропало. Ладно, буду постепенно обновлять движок дальше - там будет видно, может само исправится.

Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, YuriBtr сказал:

В том то и дело, что {headers} прописан сразу после <head>, но подключения jQuery не происходит.

дай ссылку на сайт

Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, odys сказал:

дай ссылку на сайт

вот этот сайт

Благодарю за помощь.

Изменено пользователем YuriBtr
Ссылка на сообщение
Поделиться на других сайтах

Все у вас на сайте подключается, только вы по непонятным причинам еще раз эти библиотеки дублируете в шаблоне, поэтому и сбой происходит. Убирайте из своего шаблона как подключение jquery, так и jqueryui

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, celsoft сказал:

Все у вас на сайте подключается, только вы по непонятным причинам еще раз эти библиотеки дублируете в шаблоне, поэтому и сбой происходит. Убирайте из своего шаблона как подключение jquery, так и jqueryui

Да, действительно. Сейчас все работает и без явного подключения скриптов. Не знаю что и думать. Возможно у меня были ошибки в сторонних скриптах и из за этого не подключались правильно библиотеки jquery. Спасибо, тему можно закрыть.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...