Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Joomla 4 демо


Функционал избранных товаров для JoomShopping, реализован с помощью cookie. В стандартной комплектации список желаний отображается только в карточке товара. В случае написания каких-либо хаков для добавления кнопки в список товаров стандартный вишлист перенаправляет в карточку товара, в случае если у товара есть зависимые атрибуты (влияют на цену), так как по сути wishlist - это копия корзины, а корзине нужен выбранный атрибут.

WT JoomShopping Favorites - это альтернативный список пожеланий (избранные товары) для JoomShopping, который решает эти проблемы. Скачать и подробная информация

Возможности
  • добавление кнопки в карточку товара (19 позиций)
  • добавление кнопки в список товаров (11 позиций)
  • можно создать пункт меню для избранных товаров
  • вывод модуля с иконкой и количеством добавленных в избранное товаров
  • поддержка 6 шаблонов JoomShopping
  • добавление своего шаблона копированием одного файла, скорее всего даже без его редактирования
Версия 2.0.3 Совместимость проверена: Joomla 5.3.4 JoomShoppng 5.8.2 Дата: 14.10.2025
Начиная с версии 1.3.0 поддерживается только Joomla 4+.
Joomla 3 видео


Состав пакета
  • Плагин WT JoomShopping Favorite - в нём производятся основные настройки.
  • Модуль WT JoomShopping Favorite - выводит иконку и ссылку на избранные товары и их количество
  • Файл: controller и view для JoomShopping, позволяет отображать избранные товары, а так же создать пункт меню для них.
  • Файл: комплект файлов для шаблонов JoomShopping

    • default

Во всех этих шаблонах по сути используется один и тот же файл. Расширение WT JoomShopping Favorites устроено таким образом, что для отображения списка избранных товаров используется макет категории товаров из шаблона JoomShopping. Поэтому, если у Вас шаблон JoomShopping, которого нет в списке выше, Вы можете просто скопировать папку wtjshoppingfavorites, например, components/com_jshopping/templates/default/wtjshoppingfavorites в Ваш шаблон и всё должно заработать.

#Changelog
Спойлер
[свернуть]

Расширение бесплатное, развивается за счет пожертвований.
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
*

ft990

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Подскажите, пожалуйста, какой модуль сравнения у вас используется в демо шаблона магазина?
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Здравствуйте. Это WT JShopping Compare. Писался под заказчика. В качестве референса - МВидео. Но я его так пока и не оформил в пакет, который можно просто скачать и установить. На это требуется время, которого пока  нет. Буду откровенен: все упирается как всегда в одно и то же - время и деньги. Практически все версии расширений, которые я выкладываю оплачены заказчиками и выложены в бесплатный открытый доступ с их согласия в качестве поддержки Joomla-сообщества, за что я им весьма признателен.
*

ft990

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Здравствуйте. Это WT JShopping Compare. Писался под заказчика. В качестве референса - МВидео. Но я его так пока и не оформил в пакет, который можно просто скачать и установить. На это требуется время, которого пока  нет. Буду откровенен: все упирается как всегда в одно и то же - время и деньги. Практически все версии расширений, которые я выкладываю оплачены заказчиками и выложены в бесплатный открытый доступ с их согласия в качестве поддержки Joomla-сообщества, за что я им весьма признателен.

Большое спасибо! Было бы хорошо, если бы получилось оформить. Спрос есть!
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
Я давно работаю с джумшопом. Если есть исходники, то я могу попробовать собрать пакеты модулей или плагинов для установки. Так, ради практики, авторство останется вашим конечно.
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Я давно работаю с джумшопом. Если есть исходники, то я могу попробовать собрать пакеты модулей или плагинов для установки. Так, ради практики, авторство останется вашим конечно.

Спасибо за предложение помощи. Она может пригодиться в целом, но конкретно с этим расширением проблема не в том, чтоб просто собрать. Там часть настроек хардкодом, жёсткая привязка к bootstrap. Если делать public  решение, то нужно привести его в Божий вид. Настройки в админку вынести. Предусмотреть возможность смены макета вывода, так как у кого-то сайт на UIKit или на самописе вообще. По хорошему js переписать без jquery.
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Отличное расширение! Правда есть недочет: если товар опубликован в нескольких категориях, то и в списке пожеланий будут дубли товара.
*

Mushu-svbk

  • Осваиваюсь на форуме
  • 24
  • 2 / 0
Версия 1.3.4 от 10.08.2022г.
Здравствуйте, помогите пожалуйста его настроить. Шаблон Cassiopeia, Joomla 4, JoomShopping 5. Кнопка выводится, но никакой реакции при нажатии на нее. И ошибка при нажатии на для просмотра избранного Call to undefined method stdClass::getContext()
 Заранее спасибо
« Последнее редактирование: 28.10.2022, 03:29:11 от Mushu-svbk »
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Версия 2.0.0
✔️ Рефакторинг кода. Пакет расширений переписан согласно новым канонам Joomla 4. Это означает, что расширения должны без проблем работать на Joomla 5 (выйдет осенью 2023 года) и в дальнейшем на Joomla 6 (ожидается в 2025 году).
✔️ Отказ от jQuery. Javascript код теперь не требует использования библиотеки jQuery.
✔️ Совместимость PHP 8.1. Протестирована работоспособность расширений на PHP 8.1. Исправлены все замеченные ошибки, предупреждения и уведомления.
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
v.2.0.2
- Рефакторинг кода
Улучшение совместимости пакета расширений с Joomla 5.
- WT Product model
Из состава пакета удалено расширение типа файл WT Products - Web Tolk JoomShopping custom model. Теперь в нём нет необходимости. Вы можете безбоязненно удалить его в разделе Система - Расширения - Управление.
- Добавлены позиции вывода
Добавлены позиции для вывода кнопки, появившиеся в последних версиях JoomShopping.
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Цитировать
Отличное расширение! Правда есть недочет: если товар опубликован в нескольких категориях, то и в списке пожеланий будут дубли товара.

В этой версии должна быть решена проблема. Обновитесь, проверьте.
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
Удобное расширение.
Но при отсутствии товаров в списке, пункт меню выдает ошибку:

"Call to undefined method stdClass::getContext()"

 ver 2.0.2 / Joomla 5.3.2 / JShop 5.0.8
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Включите отладку и показ ошибок максимального уровня. В какой строке и каком файле ошибка. Не сталкивался с таким поведением.
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
1   ()   JROOT\plugins\jshoppingproducts\sortingorderby\sortingorderby.php:27
2   plgjshoppingproductssortingorderby->onBeforeDisplayProductListView()   JROOT\libraries\src\Plugin\CMSPlugin.php:311
3   Joomla\CMS\Plugin\CMSPlugin->Joomla\CMS\Plugin\{closure}()   JROOT\libraries\vendor\joomla\event\src\Dispatcher.php:454
4   Joomla\Event\Dispatcher->dispatch()   JROOT\libraries\src\Application\EventAware.php:111
5   Joomla\CMS\Application\WebApplication->triggerEvent()   JROOT\components\com_jshopping\Controller\WtjshoppingfavoritesController.php:113
6   Joomla\Component\Jshopping\Site\Controller\WtjshoppingfavoritesController->view()   JROOT\components\com_jshopping\Controller\WtjshoppingfavoritesController.php:28
7   Joomla\Component\Jshopping\Site\Controller\WtjshoppingfavoritesController->display()   JROOT\libraries\src\MVC\Controller\BaseController.php:730
8   Joomla\CMS\MVC\Controller\BaseController->execute()   JROOT\components\com_jshopping\Controller\BaseController.php:44
9   Joomla\Component\Jshopping\Site\Controller\BaseController->execute()   JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143
10   Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()   JROOT\libraries\src\Component\ComponentHelper.php:361
11   Joomla\CMS\Component\ComponentHelper::renderComponent()   JROOT\libraries\src\Application\SiteApplication.php:217
12   Joomla\CMS\Application\SiteApplication->dispatch()   JROOT\libraries\src\Application\SiteApplication.php:271
13   Joomla\CMS\Application\SiteApplication->doExecute()   JROOT\libraries\src\Application\CMSApplication.php:304
14   Joomla\CMS\Application\CMSApplication->execute()   JROOT\includes\app.php:58
15   require_once()   JROOT\index.php:32
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
Я пока закрыл ссылку в модуле по условию на $digit = 0 . Но это не решает проблемку...
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
Конфлиетует вот с этим:
https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/product-sorting-style.html?lang=en

А оно тоже удобное... для клиентов. Они не привыкли к стандартному (Joomshopping) виду сортировки товара.
*

kit2m2

  • Живу я здесь
  • 3374
  • 276 / 0
  • Беру сайты на полное сопровождение
Но при отсутствии товаров в списке, пункт меню выдает ошибку:
"Call to undefined method stdClass::getContext()"

Попробуйте заменить код котроллера - WtjshoppingfavoritesController.php
На этот:
Код
<?php
/**
 * WT JoomShopping Favorites is an alternative wish list (favorite products) for JoomShopping based on cookies.
 * @package     WT JoomShopping Favorite
 * @version     2.0.2
 * @Author      Sergey Tolkachyov, https://web-tolk.ru 
 * [member=126442]copyright[/member]   Copyright (C) 2024 Sergey Tolkachyov
 * @license     GNU/GPL 3.0
 * @since       1.0.0
 * @link        https://web-tolk.ru/en/dev/joomshopping/wt-joomshopping-favorite 
 */
namespace Joomla\Component\Jshopping\Site\Controller;

defined( '_JEXEC' ) or die( 'Restricted access' );

use Joomla\Component\Jshopping\Site\Model\Productlist;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Profiler\Profiler;
use Joomla\Registry\Registry;

class WtjshoppingfavoritesController extends BaseController
{
    public function display($cachable = false, $urlparams = false): void
    {
        !JDEBUG ?: Profiler::getInstance('Application')->mark('<strong>WT JoomShopping Favorites</strong>: '.__CLASS__.' '.__FUNCTION__.' start');
        $this->view();
        !JDEBUG ?: Profiler::getInstance('Application')->mark('<strong>WT JoomShopping Favorites</strong>: '.__CLASS__.' '.__FUNCTION__.' end');
    }

    public function view(): void
    {
        $jshopConfig = \JSFactory::getConfig();
        $app = Factory::getApplication();
        $lang = $app->getLanguage();
        $lang->load('plg_jshoppingproducts_wtjshoppingfavorites', JPATH_ADMINISTRATOR, null, true);
        PluginHelper::importPlugin('jshoppingproducts');
        $app->triggerEvent('onBeforeDisplayWtjshoppingfavorites', array(&$this));

        $view_name = 'wtjshoppingfavorites';
        $view_config = array('template_path' => JPATH_COMPONENT . '/templates/' . $jshopConfig->template . '/' . $view_name);
        $view = $this->getView($view_name, \JSHelper::getDocumentType(), '', $view_config);
        $view->setLayout('wtjshoppingfavorites');
        $view->config = $jshopConfig;

        $params = $app->getParams();
        $menuParams = new Registry();
        $menu = $app->getMenu()->getActive();
        if ($menu)
        {
            $menuParams->loadString($menu->getParams());
        }
        $mergedParams = clone $menuParams;
        $mergedParams->merge($params);

        $view->clear_favorites_btn_css_class = $mergedParams->get('clear_favorites_btn_css_class','btn btn-primary');
        $view->_tmp_list_products_html_start = '';
        $view->_tmp_list_products_html_end  = '';

        // исправление ошибки
        $product_list = new Productlist\ListModel();

        $product_ids_cookie = $app->getInput()->cookie->get('wtjshoppingfavorites', null, 'string');
        if (!empty($product_ids_cookie))
        {
            $product_ids = unserialize($product_ids_cookie);
            $product_ids = array_unique($product_ids);

            $products = array_reverse(
                $product_list->getLoadProducts(
                    ['products' => $product_ids],
                    'FIELD(prod.product_id, ' . implode(',', $product_ids). ')',
                    null,
                    0,
                    0,
                    1
                )
            );

            $view->rows = $products;
            $product_list->products = $products;

            $view->config->show_sort_product = '0'; // Отключаем показ фильтров и сортировки
            $view->config->show_count_select_products = '0';
            $view->template_block_list_product = $product_list->getTmplBlockListProduct();
            $view->template_no_list_product = $product_list->getTmplNoListProduct();
            $view->template_block_form_filter = $product_list->getTmplBlockFormFilter();
            $view->template_block_pagination = $product_list->getTmplBlockPagination();
            $view->count_product_to_row = $jshopConfig->count_products_to_row;
            $view->image_category_path = $jshopConfig->image_category_live_path;
            $view->noimage = $jshopConfig->noimage;
            $view->shippinginfo = \JSHelper::SEFLink($jshopConfig->shippinginfourl, 1);

            $view->total = $product_list->getTotal();
            $view->display_pagination = false;
            $review = \JSFactory::getTable('review');
            $view->allow_review = $review->getAllowReview();
        }
        else
        {
            $view->rows = [];
            $view->total = 0;
            $view->display_pagination = false;
        }

        \JSHelper::setMetaData(Text::_('PLG_WTJSHOPPINGFAVORITES'), '', $mergedParams->get('menu-meta_description'), $mergedParams);
        $app->triggerEvent('onBeforeDisplayProductListView', array(&$view, &$product_list));
        $app->triggerEvent('onBeforeDisplaywtjshoppingfavoritesView', array(&$view, &$product_list));
        $view->display();
    }
}

Кстати я передел шаблон сортировки на вывод кнопками - Вот переделанный аддон Product sorting style если нужно...
Ниже скрин как выглядит.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3374
  • 276 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
Извините, занимался другим проектом.
Да, спасибо! Работает норм. Теперь все отлично!

Осталось еще одно. Не проблема, но неприятно.
\components\com_jshopping\templates\<jshopping template>\wtjshoppingfavorites\wtjshoppingfavorites.php

Дает вот такое предупреждение:
Warning: Undefined property: Joomla\Component\Jshopping\Site\Model\Productlist\ListModel::$total in ...\components\com_jshopping\Model\Productlist\ListModel.php on line 464
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
И вот еще одна просьба.
Было бы хорошим тоном проинформировать юзера, что товар добавлен в список. Ну просто вывести системное сообщение при добавлении. Как в стандартном коде.
*

kit2m2

  • Живу я здесь
  • 3374
  • 276 / 0
  • Беру сайты на полное сопровождение
Дает вот такое предупреждение:
Поменяйте код контроллера на этот:
Код
<?php
/**
 * WT JoomShopping Favorites is an alternative wish list (favorite products) for JoomShopping based on cookies.
 * @package     WT JoomShopping Favorite
 * @version     2.0.2
 * @Author      Sergey Tolkachyov, https://web-tolk.ru 
 * [member=126442]copyright[/member]   Copyright (C) 2024 Sergey Tolkachyov
 * @license     GNU/GPL 3.0
 * @since       1.0.0
 * @link        https://web-tolk.ru/en/dev/joomshopping/wt-joomshopping-favorite 
 */
namespace Joomla\Component\Jshopping\Site\Controller;

defined( '_JEXEC' ) or die( 'Restricted access' );

use Joomla\Component\Jshopping\Site\Model\Productlist;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Profiler\Profiler;
use Joomla\Registry\Registry;

class WtjshoppingfavoritesController extends BaseController
{
    public function display($cachable = false, $urlparams = false): void
    {
        !JDEBUG ?: Profiler::getInstance('Application')->mark('<strong>WT JoomShopping Favorites</strong>: '.__CLASS__.' '.__FUNCTION__.' start');
        $this->view();
        !JDEBUG ?: Profiler::getInstance('Application')->mark('<strong>WT JoomShopping Favorites</strong>: '.__CLASS__.' '.__FUNCTION__.' end');
    }

    public function view(): void
    {
        $jshopConfig = \JSFactory::getConfig();
        $app = Factory::getApplication();
        $lang = $app->getLanguage();
        $lang->load('plg_jshoppingproducts_wtjshoppingfavorites', JPATH_ADMINISTRATOR, null, true);
        PluginHelper::importPlugin('jshoppingproducts');
        $app->triggerEvent('onBeforeDisplayWtjshoppingfavorites', array(&$this));

        $view_name = 'wtjshoppingfavorites';
        $view_config = array('template_path' => JPATH_COMPONENT . '/templates/' . $jshopConfig->template . '/' . $view_name);
        $view = $this->getView($view_name, \JSHelper::getDocumentType(), '', $view_config);
        $view->setLayout('wtjshoppingfavorites');
        $view->config = $jshopConfig;

        $params = $app->getParams();
        $menuParams = new Registry();
        $menu = $app->getMenu()->getActive();
        if ($menu)
        {
            $menuParams->loadString($menu->getParams());
        }
        $mergedParams = clone $menuParams;
        $mergedParams->merge($params);

        $view->clear_favorites_btn_css_class = $mergedParams->get('clear_favorites_btn_css_class','btn btn-primary');
        $view->_tmp_list_products_html_start = '';
        $view->_tmp_list_products_html_end  = '';

        // Исправление ошибки!
        $product_list = new Productlist\ListModel();

        $product_ids_cookie = $app->getInput()->cookie->get('wtjshoppingfavorites', null, 'string');
        if (!empty($product_ids_cookie))
        {
            $product_ids = unserialize($product_ids_cookie);
            $product_ids = array_unique($product_ids);

            $products = array_reverse(
                $product_list->getLoadProducts(
                    ['products' => $product_ids],
                    'FIELD(prod.product_id, ' . implode(',', $product_ids). ')',
                    null,
                    0,
                    0,
                    1
                )
            );

            $view->rows = $products;
            $product_list->products = $products; // У ListModel есть это свойство

            $view->config->show_sort_product = '0'; // Отключаем показ фильтров и сортировки
            $view->config->show_count_select_products = '0';
            $view->template_block_list_product = $product_list->getTmplBlockListProduct();
            $view->template_no_list_product = $product_list->getTmplNoListProduct();
            $view->template_block_form_filter = $product_list->getTmplBlockFormFilter();
            $view->template_block_pagination = $product_list->getTmplBlockPagination();
            $view->count_product_to_row = $jshopConfig->count_products_to_row;
            $view->image_category_path = $jshopConfig->image_category_live_path;
            $view->noimage = $jshopConfig->noimage;
            $view->shippinginfo = \JSHelper::SEFLink($jshopConfig->shippinginfourl, 1);

            //$view->total = $product_list->getTotal();
$view->total = count($products); // Используем реальное количество полученных товаров
            $view->display_pagination = false;
            $review = \JSFactory::getTable('review');
            $view->allow_review = $review->getAllowReview();
        }
        else
        {
            $view->rows = [];
            $view->total = 0; // Явно указываем 0 товаров
            $view->display_pagination = false;
        }

        \JSHelper::setMetaData(Text::_('PLG_WTJSHOPPINGFAVORITES'), '', $mergedParams->get('menu-meta_description'), $mergedParams);
        $app->triggerEvent('onBeforeDisplayProductListView', array(&$view, &$product_list));
        $app->triggerEvent('onBeforeDisplaywtjshoppingfavoritesView', array(&$view, &$product_list));
        $view->display();
    }
}
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3374
  • 276 / 0
  • Беру сайты на полное сопровождение
И вот еще одна просьба.
Было бы хорошим тоном проинформировать юзера, что товар добавлен в список. Ну просто вывести системное сообщение при добавлении. Как в стандартном коде.
Это уже к Сергею - @sergeytolkachyov https://web-tolk.ru, как к разработчику расширения
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Alex_gs

  • Захожу иногда
  • 163
  • 2 / 0
Все супер! Спасибо! Теперь без ошибок.
*

sergeytolkachyov

  • Глобальный модератор
  • 225
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
-- Версия 2.0.3 - 14.10.2025
- Добавлено уведомление пользователю о добавлении товара в избранное с помощью системных уведомлений Joomla.
- Исправление конфликтов со сторонними плагинами.
- Рефакторинг кода. Небольшие улучшения кодовой базы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Умный поиск + артикулы товаров

Автор Mick_20

Ответов: 1
Просмотров: 47
Последний ответ Сегодня в 13:40:27
от kit2m2
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 1
Просмотров: 2950
Последний ответ 05.04.2026, 14:01:54
от Alex_gs
WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 14
Просмотров: 6159
Последний ответ 30.03.2026, 08:43:36
от sergeytolkachyov
WT JoomShopping Bitrix24 PRO, плагин отправки заказов в CRM Битрикс24

Автор sergeytolkachyov

Ответов: 9
Просмотров: 7143
Последний ответ 19.03.2026, 07:00:27
от sergeytolkachyov
Обновление JoomShopping: с чего начать?

Автор jimka

Ответов: 1
Просмотров: 724
Последний ответ 05.03.2026, 02:47:41
от kit2m2