CMS DataLife Engine - Система управления сайтами

Daniil2rl

Проблема с внешними картинками 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

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти