Новости Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla.Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.👩‍💻 v.4.1.0. Что нового?- Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.- Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.- Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.- Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.- Множество мелких исправлений ошибок и оптимизаций.Сайт проектаGitHub расширенияСкачать#joomla #расширения

Вышел релиз Joomla 5.3.2

Релиз исправлений ошибок Joomla 5.3.2

Проект Joomla рад сообщить о выпуске Joomla 5.3.2. Это релиз исправлений ошибок для серии Joomla 5.3.

0 Пользователей и 1 Гость просматривают эту тему.
  • 23 Ответов
  • 1392 Просмотров
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Добрый день!

Полигон для примера..

Сайт для тестов. В условном задании спрашиваем у пользователя какой он фрукт видит на картинке. Даем варианты ответа.

Даже если юзер в глаза не видел яблок, то подведя курсор к картинке он увидит в нижней части броузера images/sampledata/fruitshop/apple.jpg, что "какбынамекает".

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

В общем, имена менять - не айс.

Пробуем найти решение, чтобы скрыть ссылку. Вот, к примеру.

Как то кажется слишком сложно.

Отсюда и вопросы:
1. Существует ли плагин, который по атрибуту ссылки будет запрещать ее отображение?
2. Возможна ли реализация такого плага, в случае его отсутствия?
3. Есть ли смысл в этих извращениях?

Спасибо!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
ну сразу напрашивается вариант убрать ссылку с картинки вообще.
но это не решает проблему просмотра пути к картинке для чуть более продвинутых юзверей, которые откроют консоль или скрипты отключат на странице :D.

кардинальное решение - использовать Lightbox, который ресайзит и большую картинку и кладет её в папку кэша, снабжая закодированным названием.
sigplus вроде такое умеет.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
здра.
ну сразу напрашивается вариант убрать ссылку с картинки вообще.
но это не решает проблему просмотра пути к картинке для чуть более продвинутых юзверей, которые откроют консоль или скрипты отключат на странице :D.

кардинальное решение - использовать Lightbox, который ресайзит и большую картинку и кладет её в папку кэша, снабжая закодированным названием.
sigplus вроде такое умеет.


Все проще, если использовать pointer-events: none то ссылка при наведении уже не отображается. Но тут есть и минус, элемент становится не кликабельным. Клик теперь надо делать посредством javascript:
Код
<script>
document.querySelectorAll('a.superbox.thumbnail.zoomin').forEach(function(ell) {
ell.style.pointerEvents = 'none';
ell.outerHTML = '<div onclick="this.firstElementChild.dispatchEvent(new Event(\'click\'));" style="display: inline-block;">'+ell.outerHTML+'</div>'
});
</script>
Попробовал обернуть ссылку в div, но к сожалению при этом слетает обработчик от Lightbox. Может что посоветуйте?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну так это не решение. и Lightbox сломал и имя картинки осталось доступно  ;D
проще было вообще не использовать Lightbox тогда уж.
все же вариант с ресайзом оригинала пока единственный решающий проблему.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
ну так это не решение. и Lightbox сломал и имя картинки осталось доступно  ;D
проще было вообще не использовать Lightbox тогда уж.
все же вариант с ресайзом оригинала пока единственный решающий проблему.


Ну так и нет задачи полностью зашифровать пути, нужно просто скрыть ссылку при наведении. Если кто-нибудь подскажет, как обернуть элемент без потери обработчики, будет рабочее решение. В крайнем случае, можно заново назначить обработчики, но это надо ковырять код Lightbox модуля, что геморойно.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Добрый день!

Полигон для примера..

Сайт для тестов. В условном задании спрашиваем у пользователя какой он фрукт видит на картинке. Даем варианты ответа.

Даже если юзер в глаза не видел яблок, то подведя курсор к картинке он увидит в нижней части броузера images/sampledata/fruitshop/apple.jpg, что "какбынамекает".

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

В общем, имена менять - не айс.

Пробуем найти решение, чтобы скрыть ссылку. Вот, к примеру.

Как то кажется слишком сложно.

Отсюда и вопросы:
1. Существует ли плагин, который по атрибуту ссылки будет запрещать ее отображение?
2. Возможна ли реализация такого плага, в случае его отсутствия?
3. Есть ли смысл в этих извращениях?

Спасибо!

Нашел рабочий вариант. Можно вот таким макаром замаскировать ссылки:
Код
<script type="text/javascript">

document.querySelectorAll('a.superbox.thumbnail.zoomin').forEach(function(ell) {
ell.setAttribute('style', 'position: relative; display: inline-block;');
ell.insertAdjacentHTML('afterbegin', '<a style="position: absolute; display: block; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999;" href="#neizvestno"></a>');
});

</script>

Разместите этот код на странице. К слову, могу вам для прикола скрипт сделать, который не просто скроет название, а будет вводит заблуждение, подставляя неправильное название при наведении - для тех, кто считает себя самым умным)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не будь паразитом, сделай что-нибудь самостоятельно!
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Разместите этот код на странице.
Не завелся... В коде страницы строки 49-54

могу вам для прикола скрипт сделать, который не просто скроет название, а будет вводит заблуждение
Спасибо огромное, но не нужно. Будете смеяться, но в саппорт будут писать - типа вот, в коде у вас ошибка  ;D
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Столько откликов, спасибо большое!
Насколько я понял - готового ничего нет, все варианты подразумевают дополнительный java-скрипт, который будет грузиться на всех страницах?

Тут принципиально, я об этом в шапке не сказал, ссылка на картинку возникает только при использовании popup (лайтбокс и пр.). Я много всего перепробовал и в итоге юзаю mavik Thumbnails. Запускается он (указал в настройках) только по классу superbox.

Таким образом на этот класс и надо ориентироваться.
« Последнее редактирование: 18.08.2019, 15:53:59 от stepan39 »
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
<script type="text/javascript">

document.querySelectorAll('a.superbox.thumbnail.zoomin').forEach(function(ell) {
ell.setAttribute('style', 'position: relative; display: inline-block;');
ell.insertAdjacentHTML('afterbegin', '<a style="position: absolute; display: block; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999;" href="#neizvestno"></a>');
});

</script>

Должен завестись, у меня все работает. Давайте я распишу поэтапно.

1. Зайдите в админ панели в общие настройки и отключите временно редактор TinyMCE, установив без редактора.
2. Перейдите в модули и создайте html-модуль со следующим текстом:
Код
<script type="text/javascript">

window.onload = function() {

document.querySelectorAll('a.superbox.thumbnail.zoomin').forEach(function(ell) {
ell.setAttribute('style', 'position: relative; display: inline-block;');
ell.insertAdjacentHTML('afterbegin', '<a style="position: absolute; display: block; top: 0; left: 0; right: 0; bottom: 0; z-index: 99999;" href="#neizvestno"></a>');
});

}

</script>
3. Опубликуйте модуль на нужной странице в позиции debug.

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

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Должен завестись
Спасибо огромное, все работает! Помогло перемещение скрипта в подвал.
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
Спасибо огромное, все работает! Помогло перемещение скрипта в подвал.

Рад) Только момент один я не учел, надо чтобы ложная ссылка внутри перекрывала в том числе и бордюры, поэтому измените внутри скрипта кусочек с отступами на:
Код
top: -2px; left: -2px; right: -2px; bottom: -2px;
Потому что сейчас, если навести мышку на самый крайний-краешек картинки, то название все же отображается.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Только момент один я не учел
а еще этот скрипт не сработает в IE. ну и window.onload = function тоже не очень правильно делать
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
а еще этот скрипт не сработает в IE. ну и window.onload = function тоже не очень правильно делать

А как правильно, чтобы только после полной прогрузки элементов? Для IE, можно использовать for. Вот,  кросcбраузерно:
Код
<script type="text/javascript">

window.addEventListener('DOMContentLoaded', function() {

ell = document.querySelectorAll('a.superbox.thumbnail.zoomin');

for(var i = 0; i < ell.length; i++) {
ell[i].setAttribute('style', 'position: relative; display: inline-block;');
ell[i].insertAdjacentHTML('afterbegin', '<a style="position: absolute; display: block; top: -2px; left: -2px; right: -2px; bottom: -2px; z-index: 99999;" href="#neizvestno"></a>');
}

});

</script>
« Последнее редактирование: 18.08.2019, 18:04:46 от dm-krv »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
А как правильно, чтобы только после полной прогрузки элементов?
https://javascript.ru/forum/misc/61134-window-onload-ili-window-addeventlistener.html
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dm-krv

  • Завсегдатай
  • 1028
  • 28 / 0
https://javascript.ru/forum/misc/61134-window-onload-ili-window-addeventlistener.html

Не знал, спасибо за инфу) Я пару раз замечал, что window.onload  у меня почему-то не работает при повторном вызове, но особо не придавал значения и юзал jQuery, а оказывается его можно только один раз использовать, иначе перезапишется.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
а ежели в сторону плагина думать и по красоте, то вот такое можно учудить:
1) делаем системный плагин, который хэширует имена файлов из определенной категории/или с определенным классом и заменяет ссылку на
/get_pic.php?pic=43sdf466
2)в файле get_pic.php делаем обратное декодирование имени файла и отдаем его
Код
header('Content-type: image/jpg');
echo file_get_contents($url_to_img);
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Там на этом сайте ява-скриптов столько, что лишний чреват жопушкой :)
Самый оптимальный это хеширование имени файла, но при этом оставляя нормальную ссылку на каталог ну или подменяя.
Т.е. плагин берет ссылку /images/stories/bulki/baton.jpg и преобразует в /hashing/sad54fa68ewf6asfasd5f45saf
В /hashing/ лежит пхп-файл и htaccess , который делает редирект, ну а пхп-файл делает обратное преобразование из sad54fa68ewf6asfasd5f45saf в /images/stories/bulki/baton.jpg
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
2 минуты гуглинга
Код
// A few settings
$img_file = 'raju.jpg';

// Read image path, convert to base64 encoding
$imgData = base64_encode(file_get_contents($img_file));

// Format the image SRC:  data:{mime};base64,{data};
$src = 'data: '.mime_content_type($img_file).';base64,'.$imgData;

// Echo out a sample image
echo '<img src="'.$src.'">';
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Ыыыыыы...
Такое годится только для небольших картинок! Иначе страница будет весить тучу мегов.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Такое годится только для небольших картинок! Иначе страница будет весить тучу мегов.
Ну большая картинка даже просто ставленная в src ссылок тоже весит не мало.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Фей

  • Давно я тут
  • 743
  • 86 / 3
  • Истина в вине!
Ну большая картинка даже просто ставленная в src ссылок тоже весит не мало.
Нууу... я думаю мысль дельная есть. Там же через AJAX генерится страница, поэтому пофиг как картинки отдавать.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Нууу... я думаю мысль дельная есть. Там же через AJAX генерится страница, поэтому пофиг как картинки отдавать.
Ну тогда. да. проше имя менять.

Или еще проще, сохранять имя файла как рандом и просто отдельный файлик имя-файла => значение
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу разобраться как в админке заставить работать свой плагин

Автор kkmspb

Ответов: 3
Просмотров: 1280
Последний ответ 02.09.2024, 11:35:25
от kkmspb
Не работает плагин на хостинге

Автор a7951396

Ответов: 3
Просмотров: 1938
Последний ответ 29.11.2023, 17:56:49
от a7951396
Плагин joomirseopagination доработка

Автор Stasweb

Ответов: 15
Просмотров: 2624
Последний ответ 16.03.2023, 15:00:33
от Stasweb
Как создать графическую ссылку на часть картинки на сайте?

Автор chen

Ответов: 8
Просмотров: 1308
Последний ответ 25.02.2022, 20:35:16
от xpank
DJ-Classifieds - компонент доска объявлений. Как скрыть системные сообщения

Автор user2008june

Ответов: 2
Просмотров: 930
Последний ответ 03.02.2022, 08:53:49
от user2008june