jstart
С нами с 11 июля 2020; Место в рейтинге пользователей: #1105Защита дополнений в деталях

Приветствую. Эта заметка будет полезна скорее для уже состоявшихся авторов компонентов, но возможно начинающим тоже будет полезно изучить механизм и позволит стать будущими авторами дополнений, если ещё в раздумьях.
Не так давно некоторые дополнения на modstore.pro обзавелись защитой. Дополнения можно по прежнему устанавливать из репозитория, но если попробовать скопировать архив с пакетом на другой сайт, то установить ничего не получится. И это было сделано не спроста, так как наглости некоторых людей нет предела, пришлось предпринять меры.
Следом авторам платных дополнений разослали инструкцию о том, каким образом встроить подобную защиту в собственные дополнения. Стоит отметить, что с первого раза сделать по инструкции (несмотря на простоту) не получилось в силу особенностей применяемого варианта сборки пакета. Пришлось разбираться досконально и выяснять, как и что в MODX работает, чтобы сделать это “правильно” и надежно.
Прежде чем продолжить, стоит ознакомиться с специальным методом сборки пакетов – «Сборка transport-пакета без установки MODX». Инструкция написана в далеком 2015 году, однако описанный метод работает до сих пор. Отличие в том, что подход не требует установки MODX для сборки пакета, т.е. сборку запустить можно откуда угодно, имея только исходники пакета и xPDO.
Детали внутри.
[msOptionsPrice2] работа с остатками
            Опишу решение ряда проблем с которыми столкнулся сам. msOptionsPrice2 очень крутое решение для minishop2 но для нормальной работы с остатками там очень мало функционала.
Проблемы:
        
        
        
        
    Проблемы:
- На странице каталога и товара нет плейсхолдера, с помощью которого можно было бы скрыть кнопку добавления в корзину и вывести свою информацию
 - На странице каталога при добавлении товара проверяется на наличии первая модификация, и, если она отсутствует, то выскакивает оповещение о недоступности товара
 - На миникарточке указана неправильная цена, т.к. выводится цена продукта, а не цена модификации
 
Вывод товаров miniShop2
            Хочу вывести товары из miniShop2, у которых либо стоит галка «популярные», «новые», «особые».
Но видимо, запрос к базе делаю неправильно.
Заранее спасибо за помощь! :)
        
        
        
    Но видимо, запрос к базе делаю неправильно.
[[!msProducts?
                                    &parents=`12`
                                    &tpl=`msProducts.row.main_tpl`
                                    &limit=`8`
                                    &sortby=`RAND()`
                                    &where=`{"Data.popular":"1", "OR:Data.new":"1", "OR:Data.favorite":"1"}`
                                ]]Что не так с where?Заранее спасибо за помощь! :)