Новости Joomla

Веб-ассет Fancybox.js для Joomla v.6.0.9

Веб-ассет Fancybox.js для Joomla v.6.0.9.В Joomla 4 и Joomla 5 появилась концепция Web Assets и WebAssetManager, с помощью которого можно управлять подключениями css, js файлов, подключением. Все css и js файлы включаются в общий реестр ассетов, затем выстраивается граф зависимостей и в итоге на генерируемую страницу подключается только то что нужно на данной странице. Поскольку веб-ассеты можно добавлять с помощью плагинов (ссылка на статью ниже) - можно сказать, что появилось новое направление для плагинов - веб-ассеты. Вы можете устанавливать плагины, включающие веб-ассеты и использовать их как зависимости в самых разных местах Joomla: в шаблоне, в макетах модулей и плагинов. Одним из таких плагинов веб-ассетов является WT Fancybox.js. Плагин добавляет в Joomla WebAssets Registry css и js популярного скрипта галереи изображений fancybox.js, который потом легко можно использовать в коде:
use Joomla\CMS\Factory;$wa = Factory::getApplication()->getDocument()->getWebAssetManager();$wa->usePreset('wtfancybox'); // Local file $wa->usePreset('wtfancybox-remote'); // Use from CDN
Плагин использует систему обновлений Joomla, поэтому с появлением новых версий вы сможете получать их на своих сайтах естественным для Joomla путём. 👩‍💻 Спасибо за работу по упаковке ассета в плагин участнику нашего сообщества Сергею Сергевнину (
@gresserg).- Скачать WT Fancybox.js для Joomla- Статья на JPath.ru Как правильно подключать JavaScript и CSS в Joomla 4- Статья на Хабре: Использование WebAssetsManager Joomla 4 (Joomla 5) и добавление собственных пресетов с помощью плагина#joomla #расширения #webdev

Совет по Joomla: $db->getQuery(true) стал устаревшим

Совет по Joomla: $db->getQuery(true) стал устаревшим

👩‍💻 Совет по Joomla: $db->getQuery(true) стал устаревшим.Раньше при создании запросов в базу данных мы всегда получали объект запроса с помощью метода

getQuery(). Если передавался параметр
$new =
true, то получали новый запрос. Если без - последний.

use Joomla\CMS\Factory;$db = Factory::getContainer()->get('DatabaseDriver');$query = $db->getQuery(new: true);// и строим запрос
Под капот Joomla 4 вошёл Joomla Framework (PHP фреймворк а-ля Laravel, Yii и т.д.), а для Joomla 5 он обновился - версия 3.4.1 вышла 6 октября 2023г. В методе фреймворка есть примечание о том, что параметр
$new, который передавался в метод
getQuery() помечен как устаревший и будет удалён в версии фреймворка 4.0.
The parameter $new is deprecated and will be removed in 4.0, use %s::createQuery() instead.В Joomla 4 версия Joomla Framework была 2.x., в Joomla 5 - 3.x. Поэтому есть предположение, что с выходом Joomla 6 обновится и версия фреймворка - станет 4.0. Поэтому для получения объекта для новых запросов следует использовать метод
createQuery(). Он уже представлен в ядре и широко используется. При этом метод
getQuery() останется, но, скорее всего, будет выполнять функцию только геттера - получения текущего запроса.
@joomlafeed#joomla #php #разработка

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

velyar

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Всем привет.

Не могу найти решения. У стандартного модуля Joomla умный поиск очень странная логика функции поиска. Я начинаю набирать в строке поиска, мне сразу показываются несколько результатов, я хочу нажать мышкой на этот вариант и думаю что сразу начнётся поиск, но нет, мне оказывется надо нажать Enter в строке поиска чтобы показался результат, кнопку поиска я выключил, а без неё пользователя сайт вообще не поймут что делать:)
Вопрос, как можно сделать поиск сразу по вариантам выпадающего списка вариантов?
Есть ли готовое решение уже.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
На своих сайтах менял инициализацию этого поля:
Код
jQuery(function(){
    if(typeof jQuery.Autocomplete != 'undefined'){
        jQuery('form.finder input').each(function(){
            var inp = jQuery(this);
            inp.data('value', inp.val());
            inp.autocomplete({
                serviceUrl: inp.data('suggest'),
                paramName: 'q',
                minChars: 3,
                maxHeight: 400,
                width: 300,
                zIndex: 9999,
                deferRequestBy: 500,
                onSelect: function(resp){
                    if(typeof resp == 'object' && inp.data('value')!= resp.value){
                        inp.data('value', resp.value);
                        inp.closest('form').trigger('submit');
                    }
                }
            });
        });
    }
});

В атрибуте data-suggest поля указывается ссылка для получения вариантов выпадающего меню аяксом (можно и в скрипте ее указать вместо inp.data('suggest')). Если пользователь выбрал один из вариантов (сработало событие onSelect), то отрабатывает сабмит формы.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

velyar

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
А в каком файле находится эта функция?
Можно более подробно описать? Заранее спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Разбор кода joomshoping поиск

Автор Юрий777

Ответов: 1
Просмотров: 936
Последний ответ 15.11.2022, 07:17:12
от Юрий777
Перестал видеть модуль меню с есир

Автор VIK4

Ответов: 6
Просмотров: 937
Последний ответ 23.11.2021, 17:38:43
от VIK4
Модуль Custom Filters - перенести рамку блока

Автор DrShepard

Ответов: 25
Просмотров: 1539
Последний ответ 22.04.2021, 05:44:12
от draff
Поиск Joomla

Автор robotwerder

Ответов: 2
Просмотров: 725
Последний ответ 01.04.2021, 19:25:22
от robotwerder
Модуль фильтра по меткам

Автор acm1980

Ответов: 10
Просмотров: 1134
Последний ответ 15.02.2021, 13:20:03
от beliyadm