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

Проблема с внешними картинками DLE 12.1 (возможно баг)


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

95c5932a328c21a695db7bd1f2881dc9.jpg

 

Тестирую новую версию движка 12.1 и заметил ошибку при добавлении внешних картинок в новостях и комментариях.

При добавлении комментария если картинка больше чем 200 px получается простынь на всю ширину страници, если обновить страницу то картинка  уменьшается как заданно в настройках 200px, потом снова если зайти в новость или в комментарий эта картинка может отображаться на свой максимальный размер пока не обновишь страницу,  а если картинка находится под спойлером то она вовсе не уменьшается хоть обновляй хоть не обновляй страницу.

Пробовал у хостера переключать разные версии php от 5.3 до 7.1,  с модулем апач работает версия php 5.4.16 Разници ни какой не даёт, ничего не меняется, кеш каждый раз чистил как скрипта так и браузера, ошибка не исчезает, пробовал так же все три вида редактора использовать, стандартный BBCODES и оба других, ничего не меняется, все тесты делал на дефолтном шаблоне. Еще после обновления страници когда картинка уменьшилась и кликнуть по ней, когда она увеличивается в полный свой размер, то  не работает тень сайта, хотя в настройках  она включена.

Вероятно это баг?  ссылка на тест сайт 

http://31308.databor.pw/6-test-post.html

p.s celsoft спасибо за темный фон админки) очень круто смотрится и глаза не устают.

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

В админке если посетитель отправил комментарий с такой картинкой и коммент находится на модерации или нажать на редактирование всех комментариев в админке, то там картинка так же отображается на свой максимальный размер.

Сейчас тест сайт работает на php версии 5.5.38 режим работы php LSAPI

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

При добавлении комментария если картинка больше чем 200 px получается простынь на всю ширину страници, если обновить страницу то картинка  уменьшается как заданно в настройках 200px

Нет, это не баг. Проверка проводится только в момент загрузки страницы в браузер, проверка происходит браузерными возможностями, а не при помощи  PHP, при загруженной странице, таких проверок уже нет. В данном случае вам нужно ограничивать размеры картинок при помощи CSS вашего шаблона.

1 час назад, Daniil2rl сказал:

а если картинка находится под спойлером то она вовсе не уменьшается хоть обновляй хоть не обновляй страницу.

Также проверка размеров картинки проводится браузерными средствами а не средствами PHP, что в свою очередь возможно только для видимых картинок. У невидимых картинок еще размеров, поэтому они не могут быть определены. Соответственно также нужно ограничивать размеры в данном случае при помощи CSS вашего шаблона.

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

При добавлении комментария если картинка больше чем 200 px получается простынь на всю ширину страници

Возможно...

https://dle-news.ru/release/1687-datalife-engine-v111-final-release.html#comment-id-16512

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

Сделал такой вариант


это в фулстори

<script type="text/javascript">
$(function() {
    $('.full_story img, .commentuser img').wrap(function() {
        return '<a onclick="return hs.expand(this)" href="' + $(this).attr('src') + '" title="' +$(this).attr('alt')+ '"></a>';
    });
});
</script>

---------------------------

это в стиль css
.commentuser img {
    max-width: 100%;
    width: 200px;
}
.full_story img {
    max-width: 100%;
    width: 200px;
}

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

почему тень не работает без этого скрипта, не понятно.

И при таком варианте есть опять же минусы, под ним любые картинки даже технические открываются при клике, те же смайлики или нажав на крестик спойлера, вместо открытия спойлера получаем открытие картинки в полный размер. При просмотре всех комментариев этот скрипт не работает, если его добавить в  комментс.tpl тогда картинки не закрываются при обратном клике в свое исходное состояние до 200px, ну и в админке тоже дума надо чтобы отображалась маленькая картинка, и ее там реализовать ума не приложу.

Раз уж теперь это дело реализованно на css, нужно чтобы профессиональный человек оформил его и довёл до ума, Сейчас движок почти идеален, очень шустрый стал но из за такой маленькой проблемки, не решаюсь свой бложик обновить.

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

И при таком варианте есть опять же минусы, под ним любые картинки даже технические открываются при клике

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

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

Не получается у меня сделать чтобы правильно всё было, ребята у кого есть знания в этой области, прощу помочь. И затемнение не работает при увеличенном просмотре картинки, она ведь в настройках есть и включена но не работает, явно же ошибка есть где-то.

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

И затемнение не работает при увеличенном просмотре картинки

Тени делаются в CSS вашего шаблона, а не скриптами. У вас видимо отсутствует объявление нужных классов в вашем шаблоне. Смотрите engine.css стандартного шаблона, там даны комментарии на русском что за что отвечает.

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

celsoft, Всё тестирую на дефолтном шаблоне дистрибутива 12.1, эти стили  перестали работать во всех трёх шаблонах дистрибутива, а у самого пока не хватает знаний организовать все так чтобы работало как на 11.3, там  не нужно было вносить ни каких правок в стандартные шаблоны, всё настраивалось в админке раздела "изображения"

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

celsoft, Всё тестирую на дефолтном шаблоне дистрибутива 12.1, эти стили  перестали работать во всех трёх шаблонах дистрибутива, а у самого пока не хватает знаний организовать все так чтобы работало как на 11.3, там  не нужно было вносить ни каких правок в стандартные шаблоны, всё настраивалось в админке раздела "изображения"

Специально проверил сейчас все на стандартных шаблонах, там все работает. Ссылку дайте на страницу, где у вас не работает.

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

celsoft

http://31308.databor.pw/4-test-post-kartinki.html

отправлю вам в лс логин пароль админки

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

Daniil2rl

У меня ESET блокирует ваш сайт, возможно ложно, а возможно и все ваши проблемы оттуда.
 

Цитата

 

Веб-сайт заблокирован

Эта веб-страница находится в списке веб-сайтов с потенциально опасным содержимым.

Доступ к нему заблокирован.

 

 

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

http://31308.databor.pw/4-test-post-kartinki.html

отправлю вам в лс логин пароль админки

Так у вас на странице нет картинок опубликованных при помощи тегов [thumb] т.е. непосредственно вставленных в текст новости уменьшенных копий. А эти настройки только для них и ничего другого. Поэтому они и не действуют. Вы должны вставлять в текст вашей новости или комментария именно уменьшенные копии картинок, т.е. картинок загруженные на ваш сайт через скрипт. В редакторе есть для этого соответствующая кнопка в виде папки.

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

celsoft, Нет, этот модуль highslide работал одинаково для всех картинок, не только для внутренних и именно  [thumb] Для удаленных внешних картинок вставленных  в тег (img) на версиях 11.0 все работало как было задано в настройках для удаленных изображений, и галерея и затемнение срабатывало при увеличении картинок так же как и для внутренних картинок,  посмотрите на скрин в топе темы, там настроено для внешних изображений 200px, почему хотя бы эта настройка не всегда срабатывает, а если внешняя картинка под спойлером, то не срабатывает вовсе.

Так же и затемнение и режим галлереи не работают для этих изображений, а в прошлых версиях всё работало.

P.S на версии 12.0 идентичная  проблема с внешними картинками.

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

Нет, этот модуль highslide работал одинаково для всех картинок, не только для внутренних и именно  [thumb] Для удаленных внешних картинок вставленных  в тег (img) на версиях 11.0 все работало как было задано в настройках для удаленных изображений, и галерея и затемнение срабатывало при увеличении картинок так же как и для внутренних картинок,  посмотрите на скрин в топе темы, там настроено для внешних изображений 200px, почему хотя бы эта настройка не всегда срабатывает, а если внешняя картинка под спойлером, то не срабатывает вовсе.

Причем здесь highslide? highslide это лишь JS библиотека, которая увеличивает картинки. Я вам говорю про настройки скрипта в админпанели. Эти настройки DLE применяет только к тегам [thumb] они для его там находятся, это не настройки highslide, highslide это лишь часть того что задействуется для тегов [thumb]. Нет этих тегов, DLE ничего не поставит необходимого в код страниц вашего сайта согласно этим настройкам. 

12 минуты назад, Daniil2rl сказал:

Так же и затемнение и режим галлереи не работают для этих изображений, а в прошлых версиях всё работало.

В том то и дело, что раньше на старых версиях, DLE делал на уровне PHP из внешних картинок теги [thumb]. Поэтому и эти настройки для них применялись. Но это в свою очередь приводило к массе проблем, а именно сайт медленно работал и зависел от скорости работы внешних сайтов, также мог упасть если недоступен внешний сайт. И уже достаточно давно подобного в DLE больше нет. Уменьшение картинок теперь делается средствами браузера и JS, сам DLE в этом участия не принимает и этих тегов больше не делает. Это позволило избавится от выше указанных проблем.

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

Ок, теперь понятно, тогда маленькое пожелание для следующего обновления, внесите  пожалуйста правки css и js в ваших дефолтных шаблонах для внешних изображений.

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

И еще раз попрошу помощи у тех кто хорошо разбирается в css и js 

есть такой код:

 

main.tpl
<script type="text/javascript">
$(function() {
    $('.full_story img, .commentuser img').wrap(function() {
        return '<a onclick="return hs.expand(this)" href="' + $(this).attr('src') + '" title="' +$(this).attr('alt')+ '"></a>';
    });
});
</script>

---------------------------

 стиль css
.commentuser img {
    max-width: 200px;
    max-height: 200px;
}
.full_story img {
  max-width: 200px;
    max-height: 200px;
}

 

Как исключить из скрипта чтобы не обрабатывались внутренние технические картинки, смайлики, плюс-минус от спойлера, а скрипт работал только с внешними ссылками на картинки?

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

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

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

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

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

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

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

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

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

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