Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Модуль вывода случайных товаров (mod_jshopping_random_products).
Необходимо чтобы модуль выводил только те товары, которые есть в наличии.
Например нужно выводить 10 случайных товаров.

в файле components/com_jshopping/tables/product.php внес изменение (добавил AND prod.product_quantity > 0):
Код
$query = "SELECT $adv_result FROM `#__jshopping_products` AS prod
                INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
                LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
                $adv_from
                WHERE prod.product_publish=1 AND cat.category_publish=1 AND prod.product_quantity > 0 ".$adv_query."
                GROUP BY prod.product_id order by ".$orderby."
                LIMIT ".$limitstart.", ".$count;

В результате получается что модуль выбирает необходимое количество случайных товаров (в моем случае это 10) и из этого количества выводит только те, которые есть в наличии. Например если из десяти товаров девять не будет в наличии - модуль выведет только один товар, а необходимо чтобы всегда выводил 10 любых товаров, которые есть в наличии.

Помогите пожалуйста, как правильно настроить выборку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
получается что модуль выбирает необходимое количество случайных товаров (в моем случае это 10) и из этого количества выводит только те, которые есть в наличии
Этого пока не вижу из приведенного вами кода. После этого кода сделайте
Код
exit($query);
и приведите сюда содержание экрана.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Этого пока не вижу из приведенного вами кода. После этого кода сделайте
Код
exit($query);
и приведите сюда содержание экрана.

Код
SELECT prod.product_id, pr_cat.category_id, prod.`name_ru-RU` as name, prod.`short_description_ru-RU` as short_description, prod.product_ean, prod.manufacturer_code, prod.image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices, prod.delivery_times_id, prod.`extra_field_1` , prod.`extra_field_2` , prod.`extra_field_3` , prod.`extra_field_24` , prod.`extra_field_25` , prod.`extra_field_26` , prod.`extra_field_34` , prod.`extra_field_4` , prod.`extra_field_31` , prod.`extra_field_5` , prod.`extra_field_33` , prod.`extra_field_32` , prod.`extra_field_23` , prod.`extra_field_7` , prod.`extra_field_11` , prod.`extra_field_27` , prod.`extra_field_28` , prod.`extra_field_29` , prod.`extra_field_30` , prod.`extra_field_35` , prod.`extra_field_37` , prod.`extra_field_36` , prod.`extra_field_42` , prod.`extra_field_43` , prod.`extra_field_44` , prod.`extra_field_45` , prod.`extra_field_48` , prod.`extra_field_50` , prod.`extra_field_51` , prod.`extra_field_52` , prod.`extra_field_49` , prod.`extra_field_57` , prod.`extra_field_54` , prod.`extra_field_55` , prod.`extra_field_56` , prod.`extra_field_58` , prod.`extra_field_59` , prod.`extra_field_6` , prod.`extra_field_14` , prod.`extra_field_20` , prod.`extra_field_21` , prod.`extra_field_22` , prod.`extra_field_38` , prod.`extra_field_39` , prod.`extra_field_40` , prod.`extra_field_8` , prod.`extra_field_9` , prod.`extra_field_41` , prod.`extra_field_65` , prod.`extra_field_61` , prod.`extra_field_60` , prod.`extra_field_64` , prod.`extra_field_63` , prod.`extra_field_62` , prod.`extra_field_12` , prod.`extra_field_13` , prod.`extra_field_10` , prod.`extra_field_18` , prod.`extra_field_19` , prod.`extra_field_15` , prod.`extra_field_16` , prod.`extra_field_17` , prod.vendor_id, IF(prod.product_quantity>0,1,0) as qflag FROM `#__jshopping_products` AS prod INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id WHERE prod.product_publish=1 AND cat.category_publish=1 AND pr_cat.category_id IN (4) AND prod.access IN (1,1,5) AND cat.access IN (1,1,5) GROUP BY prod.product_id order by prod.product_price asc LIMIT 3, 10
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну а вы сами то видите ваше добавленное условие
Код
AND prod.product_quantity > 0
в этой строке запроса, который вы показываете? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
exit($query);
сорри, я выложил то что было по умолчанию.
Вот мой:

SELECT prod.product_id, pr_cat.category_id, prod.`name_ru-RU` as name, prod.`short_description_ru-RU` as short_description, prod.product_ean, prod.manufacturer_code, prod.image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices, prod.delivery_times_id, prod.`extra_field_1` , prod.`extra_field_2` , prod.`extra_field_3` , prod.`extra_field_24` , prod.`extra_field_25` , prod.`extra_field_26` , prod.`extra_field_34` , prod.`extra_field_4` , prod.`extra_field_31` , prod.`extra_field_5` , prod.`extra_field_33` , prod.`extra_field_32` , prod.`extra_field_23` , prod.`extra_field_7` , prod.`extra_field_11` , prod.`extra_field_27` , prod.`extra_field_28` , prod.`extra_field_29` , prod.`extra_field_30` , prod.`extra_field_35` , prod.`extra_field_37` , prod.`extra_field_36` , prod.`extra_field_42` , prod.`extra_field_43` , prod.`extra_field_44` , prod.`extra_field_45` , prod.`extra_field_48` , prod.`extra_field_50` , prod.`extra_field_51` , prod.`extra_field_52` , prod.`extra_field_49` , prod.`extra_field_57` , prod.`extra_field_54` , prod.`extra_field_55` , prod.`extra_field_56` , prod.`extra_field_58` , prod.`extra_field_59` , prod.`extra_field_6` , prod.`extra_field_14` , prod.`extra_field_20` , prod.`extra_field_21` , prod.`extra_field_22` , prod.`extra_field_38` , prod.`extra_field_39` , prod.`extra_field_40` , prod.`extra_field_8` , prod.`extra_field_9` , prod.`extra_field_41` , prod.`extra_field_65` , prod.`extra_field_61` , prod.`extra_field_60` , prod.`extra_field_64` , prod.`extra_field_63` , prod.`extra_field_62` , prod.`extra_field_12` , prod.`extra_field_13` , prod.`extra_field_10` , prod.`extra_field_18` , prod.`extra_field_19` , prod.`extra_field_15` , prod.`extra_field_16` , prod.`extra_field_17` , prod.vendor_id, IF(prod.product_quantity>0,1,0) as qflag FROM `#__jshopping_products` AS prod INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id WHERE prod.product_publish=1 AND cat.category_publish=1 AND prod.product_quantity > 0 AND pr_cat.category_id IN (4) AND prod.access IN (1,1,5) AND cat.access IN (1,1,5) GROUP BY prod.product_id order by prod.product_price asc LIMIT 23, 10
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не знаю, что такое mod_jshopping_random_products, но запрос выводит только товары из категории с ID = 4
Код
AND pr_cat.category_id IN (4)
Вы хотели, чтобы выводились только товары этой кагории? Если нет, то найдите в коде этого модуля вызов функции getRandProducts и поставьте 2-й аргумент = null.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Не знаю, что такое mod_jshopping_random_products, но запрос выводит только товары из категории с ID = 4Вы хотели, чтобы выводились только товары этой кагории? Если нет, то найдите в коде этого модуля вызов функции getRandProducts и поставьте 2-й аргумент = null.

да, нужно чтобы выводились товары из одной категории. И в этой категории достаточное количество товаров, которые есть в наличии...но..ситуация такая, как я описал выше. Бывает даже ситуация, когда вообще не выводит ни одного товара
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Тогда в той же функции, где вы добавили условие, измените
$limitstart = rand(0, $totalrow);
на
$limitstart = rand(0, $totalrow - 10);
Ой, там же есть $count, которая наверняка задается в админке модуля. Найдите эту настройку и поставьте 10.

Опять был не прав :).
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.
« Последнее редактирование: 25.10.2017, 00:39:34 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Тогда в той же функции, где вы добавили условие, измените
$limitstart = rand(0, $totalrow);
на
$limitstart = rand(0, $totalrow - 10);

Ой, там же есть $count, которая наверняка задается в админке модуля. Найдите эту настройку и поставьте 10.

там сейчас так:
Код
        $db->setQuery($query);
        $totalrow = $db->loadResult();
        $totalrow = $totalrow - $count;
        if ($totalrow < 0) $totalrow = 0;
        $limitstart = rand(0, $totalrow);

$count, я так понимаю, это необходимое количество отображаемого товара
*

robert

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

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Обновил предыдущий пост.
если я вас правильно понимаю, вы предлагаете в настройках модуля в админке установить необходимое количество выводимых товаров, например 10.
Но у меня там установлено необходимое количество. Но дело в том что даже если у меня в одной категории 1000 товаров и например 10 товаров нет в наличии, то бывает ситуация когда в выборку попадают именно эти 10 товаров, которых нет в наличии..и соответственно модуль ничего не выводит
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.

Работает! Большое спасибо за помощь!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а какой модуль случайных товаров используется? этот https://nevigen.com/ru/modules/modul-sluchajnykh-tovarov-joomshopping.html?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JS Product Snapshot - плагин вывода товаров JoomShopping в контенте Joomla

Автор Arkadiy

Ответов: 110
Просмотров: 32794
Последний ответ 21.12.2023, 09:28:06
от sergeytolkachyov
Фильтр товаров крашит сайт

Автор psiworm

Ответов: 4
Просмотров: 2142
Последний ответ 04.11.2023, 12:31:07
от nevigen
Re: Модуль AJAX корзины (Multi)

Автор Садко

Ответов: 97
Просмотров: 19538
Последний ответ 08.10.2023, 07:49:27
от kit2m2
Модуль красивого выбора валюты

Автор beagler

Ответов: 8
Просмотров: 5061
Последний ответ 12.03.2023, 01:42:31
от ecolora
Модуль категорий + товары + аккордеон

Автор Efanych

Ответов: 118
Просмотров: 27346
Последний ответ 02.10.2022, 22:04:42
от Biss