Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

rsn

  • Давно я тут
  • 520
  • 34 / 3
Бывает, что в модуле VirtueMart Products (в стандартном модуле VirtueMart) надо вывести товары не с такой сортировкой и фильтрацией, какая предложена разработчиками, а со своей, специфичной.
У меня, например, встала задача вывести в модуле товары, у которых заполнено определенное настраиваемое поле (хиты продаж помечаются настраиваемым полем, строка).
Сделал небольшой хак, решил поделиться (хотя бы и самому не забыть):

1) Правим файл modules/mod_virtuemart_product/mod_virtuemart_product.xml

В блок опции <field name="product_group"
добавляем строчку <option value="hit">Хиты продаж</option>
(можно написать языковую переменную, если хочется)

Итого секция выглядит так:

Код
        <field
          name="product_group"
          type="list"
          default="featured"
          label="MOD_VIRTUEMART_PRODUCT_DISPLAY"
          description="MOD_VIRTUEMART_PRODUCT_DISPLAY_DESC"
          >
          <option value="featured">MOD_VIRTUEMART_PRODUCT_FEATURED_PRODUCTS</option>
          <option value="discontinued">MOD_VIRTUEMART_PRODUCT_DISCONTINUED_PRODUCTS</option>
          <option value="latest">MOD_VIRTUEMART_PRODUCT_LATEST_PRODUCTS</option>
          <option value="random">MOD_VIRTUEMART_PRODUCT_RANDOM_PRODUCTS</option>
          <option value="topten">MOD_VIRTUEMART_PRODUCT_BEST_SALES</option>
          <option value="recent">MOD_VIRTUEMART_PRODUCT_RECENT_PRODUCTS</option>
          <option value="hit">Хиты продаж</option>
        </field>
На всякий случай делаем копию этого файла, немного переименовав для себя. После обновления VirtueMart эта копия не затрется, из неё можно будет снова внести правки в обновленный стандартный mod_virtuemart_product.xml.

2) Правим файл administrator/components/com_virtuemart/models/product.php

Ищем в коде switch ($group)
В этот свитч добавляем кейс (я вставил предпоследним):
              case 'hit':
                $this->searchcustoms = true;
                $joinCustom = true;
                $where[] = 'pf.`virtuemart_custom_id`="33" ';
                $orderBy = 'ORDER BY RAND()';
                break;

Соответственно, 33 - меняем на id нужного настраиваемого поля (можно посмотреть в админке).
Итого switch становится таким:
Код
switch ($group) {
  case 'featured':
    $where[] = 'p.`product_special`="1" ';
    $orderBy = 'ORDER BY RAND()';
    break;
  case 'discontinued':
    $where[] = 'p.`product_discontinued`="1" ';
    if($isSite){
      $orderBy = 'ORDER BY RAND()';
    }
    break;
  case 'latest':
    $orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '` DESC, p.`virtuemart_product_id` DESC';
    break;
  case 'random':
    $orderBy = 'ORDER BY RAND() '; //LIMIT 0, '.(int)$nbrReturnProducts ; //TODO set limit LIMIT 0, '.(int)$nbrReturnProducts;
    break;
  case 'topten':
    $orderBy = 'ORDER BY p.`product_sales` DESC, p.`virtuemart_product_id` DESC'; //LIMIT 0, '.(int)$nbrReturnProducts;  //TODO set limitLIMIT 0, '.(int)$nbrReturnProducts;
    $joinPrice = true;
    $where[] = 'pp.`product_price`>"0.001" ';
    break;
  case 'hit':
    $this->searchcustoms = true;
    $joinCustom = true;
    $where[] = 'pf.`virtuemart_custom_id`="33" ';
    $orderBy = 'ORDER BY RAND()';
    break;
  case 'recent':
    $rIds = self::getRecentProductIds($nbrReturnProducts); // get recent viewed from browser session
    return $rIds;
}
Тоже делаем копию правленного файла на случай вернуть правки после обновления VirtueMart.

3) Идём в админке в настройки Модуля. Выбираем нашу добавленную Опцию Хиты продаж.

Если всё ОК, то наслаждаемся результатом :)

Если кто предложит решение поинтересней, буду только рад )
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать товары в 2 колонки в моб версии?

Автор art22

Ответов: 4
Просмотров: 2172
Последний ответ 06.12.2022, 11:42:56
от art22
Как пересохранить все товары?

Автор stydent

Ответов: 1
Просмотров: 2791
Последний ответ 30.03.2022, 10:38:06
от itpremium
Вывод названий всех категорий и товаров в них на главной ((vm3))

Автор PavelK

Ответов: 0
Просмотров: 2184
Последний ответ 15.02.2022, 14:34:52
от PavelK
Limit показать на страницу + пагинация pagination ломают отображение товаров

Автор kreker92

Ответов: 0
Просмотров: 2260
Последний ответ 08.11.2021, 18:02:40
от kreker92
mod_virtuemart_product - как скрыть товары, которых нет в наличии?

Автор alexfom_16

Ответов: 40
Просмотров: 5791
Последний ответ 11.10.2021, 17:50:38
от hmr