Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

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

Автор a7951396

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

Автор Stasweb

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

Автор chen

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

Автор user2008june

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