Новости Joomla

Вышли релизы безопасности Joomla 6.1.4 и Joomla 5.4.9

Релиз безопасности Joomla 6.1.4 и Joomla 5.4.9

Проект Joomla! рад сообщить о выходе Joomla 6.1.4 и Joomla 5.4.9. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

JoomShift - компонент переноса контента между Joomla сайтами.

‍ JoomShift - компонент переноса контента между Joomla сайтами.

JoomShift - компонент переноса контента между Joomla сайтами.Он позволяет экспортировать модули, меню, материалы, категории, пользовательские поля и пользователей в виде переносимых JSON/ZIP-файлов, а затем импортировать их в любую другую установку Joomla.

Возможности компонента:- Модули — полная настройка, назначение пунктов меню, позиционирование и содержимое SP Page Builder.
-Меню — иерархия родительских/дочерних элементов, типы элементов, ссылки, уровни доступа и параметры. Отсутствующие типы меню создаются автоматически, а элементы, указывающие на неустановленные компоненты, пропускаются с предупреждением.
-Статьи и категории — контент, метаданные, изображения и иерархия категорий.
-Пользовательские поля — группы полей, определения, ограничения по категориям и значения (включая поля с несколькими значениями) — экспортируются и автоматически создаются заново на целевом сайте.
-Пользователи — данные профиля, назначения групп и хэши паролей, чтобы учетные записи работали сразу после импорта.
-Кросс-версииJoomla - компонент адаптируется к различиям в схеме базы данных между версиями Joomla.
-Создан для крупных сайтов — постраничные списки (20/50/100/250строк) и автоматический пакетный экспорт для сайтов с более чем 500 элементами, поэтому он продолжает работать на обычном хостинге.
-Опция перезаписи — обновляет совпадающие элементы при повторном импорте вместо создания дубликатов.
-Drag-n-drop импорт с подробным отчетом о том, что было импортировано, обновлено или пропущено, и почему.

На момент написания заметки для скачивания необходима регистрация/логин на сайте разработчика.

-Joomla Extensions Directory-Страница расширения#joomla#расширения

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Модуль joomLab JS Ajax Cart позволит организовать в Вашем интернет-магазине на компоненте JoomShopping удобную AJAX корзину с возможностью добавлять товары и изменять их количество без перезагрузки страницы.

Кроме этого, в состав пакета установки входит плагин, который позволяет выводить атрибуты товара в список всех товаров, менять эти атрибуты и добавлять товар в корзину из списка товаров. Если атрибутов много, то их можно выводить в всплывающем (модальном окне).

В модуле предусмотрено 2 макета дизайна для Bootstrap и UIkit и максимальная кастомизация для переопределения макетов в шаблон.Демо расширенияСтраница расширения

Видео в Telegram

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

stepan39

  • Давно я тут
  • 502
  • 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

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

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

stepan39

  • Давно я тут
  • 502
  • 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

  • Давно я тут
  • 502
  • 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
Просмотров: 4296
Последний ответ 02.09.2024, 11:35:25
от kkmspb
Не работает плагин на хостинге

Автор a7951396

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

Автор Stasweb

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

Автор chen

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

Автор user2008june

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