Релиз minishop2 3.0.0 (Для MODX 2). Поддержки MODX3 еще нет.

Представляю вашему вниманию стабильный релиз minishop2 3.0.0.
С сегодняшнего дня — компонент доступен к загрузке по умолчанию в репозитории.

ВНИМАНИЕ — Обновление может сломать ваш сайт.
Прежде чем обновляться подумайте, а нужно ли вам это? Выиграете ли вы от этого?
Постарайтесь протестировать обновление на отдельной копии сайта. Сделайте бэкап.

Список изменений, рекомендации по обновлению были опубликованы ранее в предыдущих анонсах.


Из нового, ранее неозвученного могу отметить следующее.

Добавлена новая системная настройка ms2_register_frontend. Настройка отвечает за отключение принудительного добавления в DOM дерево css и js файлов из комплекта minishop2.
Таким образом вы можете собрать страницу без скриптов и стилей (добавив их в общий котел).
Вообще-то и раньше можно было просто очистить все системные настройки, отвечающие за файлы. Фокус в другом. Теперь можно включать\отключать пополнение DOM дерева на выборочных страницах

Добавлен новый метод registerFrontend() который собственно и управляет загрузкой на страницу файлов стилей и скриптов.

Объясню зачем это нужно и где использовать.

Пример из жизни реального интернет-магазина. На некоторых страницах скрипты минишопа нужны, на некоторых, где нет даже мини-корзины не нужны. Но при стандартном подходе плагин minishop2 загружает скрипты на каждую страницу. Чем замедляет ее.

В последнее время я активно работаю с компонентом ZoomX, который совершенно по другому работает с построением страниц. Каждой страницей можно управлять отдельно, заранее, решая какие данные предоставить странице. В том числе теперь можно управлять и появлением в DOM дереве элементов minishop2.

Ниже простой пример контроллера ZoomX, отвечающего за то, какой функционал будет доступен на странице

namespace Zoomx\Controllers;

use modX;

class PagesController extends Controller
{
    /**
     * @var \miniShop2
     */
    protected $ms2;

    public function __construct(modX $modx)
    {
        parent::__construct($modx);
        //  Если на странице не нужны возможности ms2 - просто убираем эти строки
        $this->ms2 = $this->modx->getService('minishop2');
        $this->ms2->initialize('web');
        $this->ms2->registerFrontend();
    }
}

В классическом MODX управлять загрузкой файлов стилей скриптов можно через плагин.
Сейчас загрузка в плагине на событие OnLoadWebDocument реализована вот так:
$miniShop2 = $modx->getService('miniShop2');
$registerFrontend = $modx->getOption('ms2_register_frontend', null, '1');
if ($miniShop2 && $registerFrontend) {
    $miniShop2->registerFrontend();
}

Этот код можно дополнить переписав логику как угодно.
К примеру проверять шаблон $modx->resource->template и для нужных шаблонов включать (или наоборот отключать пополнение DOM дерева)

Собственно теперь после этого релиза я займусь поддержкой MODX 3.
В планах на данный момент реализовать простейшую совместимость, насколько это возможно.
И далее будет идти работа над отдельной версией компонента minishop3 которая заменит собой minishop2.

По просьбам создан сбор на дальнейшее развитие miniShop2
Огромное спасибо, всем кто поддерживает и донатит!
Николай Савин
27 апреля 2022, 20:06
modx.pro
1 388
+21
Поблагодарить автора Отправить деньги

Комментарии: 15

Иван Бочкарев
27 апреля 2022, 20:08
+1
@Николай Савин Спасибо за работу!
    Руслан Алеев
    27 апреля 2022, 20:17
    +2
    МОЩЬ!
      Денис Мижеревич
      27 апреля 2022, 23:37
      0
      Подскажите, пожалуйста. Ставлю minisho2 на MODX 3.0 (чистая установка).
      И при установке minishop2 выдает ошибку «PHP warning: require_once(/var/www/start-z31725/data/www/shop.denis-yogafree.ru/core/model/modx/modprocessor.class.php): failed to open stream: No such file or directory», скрин prnt.sc/-1mxUbSuSdaw
      Есть решение?
        Иван Бочкарев
        28 апреля 2022, 04:45
        +1
        Вы читали заголовок статьи? Поддержки modx 3 пока нет…
        Misha Bulic
        28 апреля 2022, 09:20
        0
        Было бы здорово, если бы был список совместимых дополнений. mSearch2 работает?
          Николай Савин
          28 апреля 2022, 09:23
          0
          Это статья не про MODX3 а про minishop2.
            Misha Bulic
            28 апреля 2022, 09:26
            0
            я понял, после обновления msearch будет так же работать? Ок, потестирую сам
              Николай Савин
              28 апреля 2022, 09:28
              +1
              А где связь? Никаких изменений связанных со списком товаров заявлено не было.
              Обновление касается корзины и оформления заказа по большей части.
                Алексей Соин
                28 апреля 2022, 14:38
                +1
                я думаю, имеется ввиду не список допов работающих с modx3, а допов которые корректно работают с новой версией minishop2
                  Евгений Webinmd
                  28 апреля 2022, 15:04
                  0
                  все работающие ранее компоненты работают
          Alexey
          29 апреля 2022, 16:51
          +2
          Спасибо за труд! Закинул копеечку. Странно, Тинькофф выдал ошибку в номере карты, но подтверждение пришло и перевод прошел. Надеюсь, туда, куда нужно))
            Sergey
            06 мая 2022, 13:10
            0
            Для третьей версии пока никакого минишопа нет получается?
              Николай Савин
              06 мая 2022, 13:11
              +1
              Да — для MODX3 минишопа пока нет. Версия сейчас в разработке.
                Sergey
                06 мая 2022, 13:13
                0
                Спасибо за труд!
                  Николай Савин
                  06 мая 2022, 13:14
                  +2
                  Добрые люди обычно в спасибо копеечку заворачивают )
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              15