[msPromoCode2] Промо-коды второй версии


— Совместимость с msOptionsPrice2 и msBonus2,
— Программное API — можно применить/отменить скидку для юзера в сниппете или плагине,
— Применение промо-кода в бек-энде для уже созданных заказов,
— Применение промо-кода на любой странице сайта и обновление цен товаров на лету,
— Возможность сгенерировать промо-код и вывести сообщение пользователю, когда он провёл на странице N секунд,
— Возможность применять скидку только к одной единице товара,
— Вывод скидки не только в корзине, но и в любом месте сайта, где отображается цена товара,
— И множество мелочей, которые будут приятным дополнением при использовании компонента.

Внимание! Вторая версия не имеет ничего общего с первой версией компонента. Даже в части функционала они отличаются, ибо реализованы совершенно иначе.

Демку потыкать можно тут, документация уже на docs.modx.pro

Компонент можно приобрести в Modstore

Создание компонента спонсировал наш любимый магазин дополнений Modstore.pro
Павел Гвоздь
01 октября 2019, 08:51
modx.pro
1 495
+10
Поблагодарить автора Отправить деньги

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

Александр
01 октября 2019, 11:44
+1
А что станет с первой версией? Будет ли она поддерживаться, обновляться, или эта версия пришла на замену предыдущей?
    Павел Гвоздь
    01 октября 2019, 11:50
    +1
    Первая версия останется, но ряд функционала из второй версии в ней никогда не появится, из-за иной реализации. Баги в ней будут фикситься. Она дешевле второй версии.
    Вторая версия естественно в приоритете и в ней будет появляться новый функционал.
    yani
    01 октября 2019, 14:17
    0
    Павел, подскажите, есть ли возможность сделать такую скидку
    При покупке 3 товаров из категории по цене 40 рублей, сделать общую цену 100 рублей?
    ну и при покупке 4 будет 100 + 40 = 140
    6 — 100 + 100 = 200 и т.д.
      Павел Гвоздь
      01 октября 2019, 15:38
      0
      Из коробки — нет. Только если написать какой-то плагин, который бы контролировал такое поведение.
      Василий Краковецкий
      02 октября 2019, 15:36
      0
      Скидка на всю корзину применяется к конечной цене или как в предыдущей версии — разбивается и применяется отдельно к каждому из товаров?
      Николай Савин
      07 октября 2019, 06:46
      0
      Паш, а есть возможность создать промокод ограниченный по времени? Действующий, в течение часа, к примеру.
        Павел Гвоздь
        07 октября 2019, 08:20
        +1
        Да, конечно! prnt.sc/pfsfuj
          Николай Савин
          10 октября 2019, 08:22
          +1
          Отлично купил. Вижу в консоли браузера вывод логов при рендере формы. Наверное убрать забыл.
          И еще вот такой нюанс заметил — prnt.sc/ph919f — но это наверное какие то проблемы с кодировкой у меняю
            Павел Гвоздь
            10 октября 2019, 08:36
            0
            Описание вопросами? Да, видимо у тебя, т.к. не замечал нигде такого.
            Вывод логов уберу в ближайшей версии.
            И просьба, если будут вопросы по ТП, то писать в соответствующий раздел на Modstore, пжл.
              Николай Савин
              10 октября 2019, 08:37
              +1
              Вопросов то нет, заметил нюансы — дал знать.
                Павел Гвоздь
                10 октября 2019, 08:38
                0
                Я понял. На всякий случай заранее попросил)
        Константин Ильин
        03 ноября 2019, 20:28
        +1
        Павел, подскажите пожалуйста, можно ли будет напилить такую систему:

        в личном кабинете, пользователь сам создает себе промокод который будет давать другим людям, какое то слово, например «lopata». Оно является уникальным, т.е. у второго пользователя не может быть такого же промокода.

        При оформлении заказа если вводишь промокод «lopata», клиент получает 5% скидку на заказ, а тот человек которому принадлежит данный промокод «lopata» получает бонусы 10% от суммы заказа клиента.

        И так каждый раз при оформлении заказа, когда вводят lopata скида 5% и соответственно 10% человеку.
        Что-то вроде реферальной системы, но с промокодом.

        Мне нужно купить оба компонента msPromoCode2 и msBonus?
          Павел Гвоздь
          03 ноября 2019, 21:00
          0
          В целом можно, но придётся допилить. Исходники ни одного из компонентов по идее править не придётся, т.к. есть соответствующие события плагинов.
            Константин Ильин
            04 ноября 2019, 01:07
            +2
            Почти сделал сам :)

            Просто расширил профиль пользователя, в это поле записываю название промокода. Промокод создается из формы в личном кабинете пользователя. Т.е. у каждого пользователя свой промокод. В случае если человек захочет поменять промокод, берется старый и обновляется название.

            Осталось только сделать начисления бонусов за оплаченый заказ, это наверно на смену статуса повесить.

            Спасибо за отличные компоненты, жду ответа в ТП =)
              Николай Савин
              04 ноября 2019, 07:19
              +2
              Тогда уж надо id промокода записывать, а не содержимое, скорее всего
                Константин Ильин
                04 ноября 2019, 16:57
                +1
                Местами удобнее текстовый вариант)
                можно выводить в феноме без запросов на получение названия промокода.
                {$_modx->user.promocode}
                еще например не надо будет искать название старого купона, оно уже у пользователя, зару запрос на получение объекта с кодом.
                Павел сделал так, что название купона уникально, а так же индекс сделал в mysql, так что поиск по varchar не так страшен будет. Но естественно я в своем коде тоже проверяю на уникальность и там всякие нехорошие символы)

                А так ваша идея имеет смысл, обычно так и делаю, но тут как то решился так :)
                  Николай Савин
                  04 ноября 2019, 17:42
                  +1
                  Ответ исчерпывающий — Умываю руки.
                    Константин Ильин
                    04 ноября 2019, 18:01
                    0
                    Дошел до бонусов и сразу аукнулось. Вы были правы, что лучше id. Я не учел ситуацию если до оплаты заказа пользователь поменяет свой промокод, будет поиск пользователя по названию, а такого пользователя с промокодом уже нет.
          UDAV
          19 марта 2020, 13:36
          0
          А фиксированную сумму в рублях можно сделать?
            Александр
            09 апреля 2020, 20:56
            0
            Павел, возможно через модуль дать скидку группе товаров одним промо-кодом?
              Евгений Пашков
              21 августа 2020, 18:36
              0
              Павел, подскажет такой момент.
              Первая версия не умеет давать скидку на всю корзину для определенных товаров или раздела с товарами.

              Может ли вторая версия следующее:
              Промо-код, действующий на определенную группу товаров (или раздел), дающий скидку на всю корзину, при условии, что товаров из этой группы в корзине больше, чем XX рублей?
              Спасибо.
              Владимир
              01 сентября 2020, 15:03
              0
              Добрый день!
              Сейчас в корзине при применении недействительного купона выводится одно и тоже сообщение «Промо-код недействителен».
              А можно ли в msPromoCode2 добавить такой функционал:
              1. Если у купона истекла дата действия писать «Дата действия данного промо-кода истекла такого-то числа».
              2. Если на купоне количество заказов превышает допустимое писать «Превышено количество (кол-во доступных заказов числом) доступных заказов по данному промо-коду».
              3. Если промо-кода нет в системе вообще писать «Указанный промо-код недействителен».
              Хочется покупателям сразу показать причину, по которой промо-код не работает, а то они начинают звонить менеджерам магазина и выяснять в чем проблема.
                Владимир Ребров
                21 декабря 2020, 13:40
                0
                Добрый день.
                Подскажите, пожалуйста
                1) есть ли возможность установить дату валидности промокода?
                2) промокоды одноразовые или можно применять один промокод несколько раз (или это опционально)?
                3) есть ли возможность промокодом увеличить, а не уменьшить цену? (не спрашивайте, зачем — заказчик интересуется)
                4) скидка по промокоду задается фикс числом или можно и в %?
                Спасибо.
                  Павел Гвоздь
                  21 декабря 2020, 20:55
                  0
                  1) да
                  2) можно, опционально
                  3) не знаю, юзайте modhost тестовый тариф
                  4) можно
                  pobnpolk
                  09 января 2021, 17:52
                  0
                  Павел, подскажи пожалуйста:
                  В корзине при добавленных опциях через компоненты msSetInCart и msAddLinked — формируется сумма товара с учётом выбранных опций.
                  После применения промо-кода наценка слетает.
                  и После отмены промо-кода наценка не суммируется обратно.
                  Вопрос: Как можно изолировать применение к корзине, без учёта цены наценки от опций.
                    Илья Александрович
                    29 января 2021, 19:46
                    0
                    в первой версии msPromoCode есть такое
                    Кейсы — Именные промокоды для пользователя

                    во второй версии это есть?
                      Павел Гвоздь
                      01 февраля 2021, 09:03
                      0
                      Подобное для второй версии я не описывал.
                      pobnpolk
                      17 февраля 2021, 15:18
                      0
                      Паша, что можно сделать?
                      В корзине при добавленных опциях через компоненты msSetInCart и msAddLinked — формируется сумма товара с учётом выбранных опций.
                      После применения промо-кода наценка слетает.
                        Павел Гвоздь
                        18 февраля 2021, 06:58
                        +2
                        что можно сделать?
                        1) Наладить совместимость как-то самостоятельно.
                        2) Обратиться ко мне и оплатить моё время.

                        Уточню, что совместимости с данными компонентами я нигде не заявлял и если я буду каждую просьбу в ТП выполнять за свой счёт (с чего бы интересно?), то ни на личную жизнь, ни на собственную работу времени у меня не останется. Но не смотря на этот, вроде бы логичный момент, порой в ТП проскакивают такие наглецы, которые уверены, что любую их просьбу по доработке компонента я должен и обязан выполнить.

                        P.S. А вот эти решения типа отключения каких-то событий плагина компонента, которые мне некоторые умники предлагают в ТП, я бы не посоветовал никому, ибо называется «Одно лечим, другое калечим»…
                        Дмитрий
                        20 февраля 2021, 11:00
                        0
                        Добрый день! Подскажите, возможно ли в первой или второй версии использовать данный модуль msPromoCode, чтобы промокод (скидка) не распространялся на товары у которых уже установлена скида в cms mishope (заполнено поле старая цена)?
                          Алексей Суслов
                          20 февраля 2021, 13:45
                          0
                          Не знаю про первую версию, а в msPromoCode2 точно есть и я часто этим пользуюсь:

                          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                          33