Пару вопросов по дополнению к ms2

Василий, я как-то говорил, что делаю компонент для скидочной системы. Вот дошли до него руки.
И такая ситуация — мне надо валидировать скидочные карты, делать пересчёт заказа и прочее.

Как я понимаю, самый лучший путь — это создание кастомного класса заказов. И при установке этого пакета надо указать этот кастомный класс в настройках. И вот как здесь поступить?
а) перезаписывать соответствующую настройку (ms2_order_handler_class), вписать туда название своего класса. Но вдруг у человека уже есть свой кастомный класс? В таком случае перезаписывать настройку — не камильфо. Если кастомный класс уже есть, то в любом случае разработчику придётся вручную переписывать и совмещать свой и мой класс. Тоже не хорошо.
б) Не перезаписывать настройку и в репозитории в инструкции написать о том, что необходимо вручную поменять данную настройку.

Как тут лучше поступить?

Потом, после валидации карты надо как-то показать соответствующее сообщение об ошибке. И вот здесь оооочень пригодился бы тот самый пуллреквест с коллбэками в default.js и отображением ошибок в сниппете :-)
А чтобы добавить поле ввода карты на фронтенд по-любому придётся делать свой чанк, который будет полной копией твоего chunk.ms_order_outer.tpl, но только с полем вводом номера карты?

p.s. извиняюсь за столь постоянную назойливость, просто советоваться больше не с кем
Алексей Карташов
14 августа 2013, 22:51
modx.pro
931
0

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

Алексей Карташов
15 августа 2013, 02:55
0
Нда, поспешил…
Вспомнил про крайнюю статью про плагины и новый метод miniShop2::invokeEvent(). Тогда вопрос про собственный класс и настройки снимается :-)
Но тогда как валидировать свои поля при выводе через сниппет, когда (и если) эта возможность появится. Ведь в методе msOrderHandler::validate() не вызывается никаких событий, а значит свои поля отвалидировать таким образом не получится…
    Василий Наумкин
    15 августа 2013, 07:16
    0
    Значит, надо мне нужно добавить новые системные события.

    Создай issue, добавлю. Твой пулл-реквест на очереди, скоро займусь.
      Алексей Карташов
      15 августа 2013, 08:37
      0
      Твой пулл-реквест на очереди, скоро займусь.
      Супер!

      По событиям issue создал.

      Там, кстати, в пуллреквесте странность. К нему почему-то прибилось 3 коммита, которые я отправлял в свой репозиторий уже после создания этого самого пуллреквеста. Не знаю почему так. По логике такого быть не должно, но в git'е я понимаю мало (пользуюсь гитхабовским гуёвым клиентом), возможно так и должно быть, хз.
      В общем, последние три коммита Discount cards foundation, Discount types ready, DiscountCard grid там не нужны.
        Василий Наумкин
        15 августа 2013, 08:40
        0
        А это оно так автоматом прибавляет, типа различия между твоим и моим репо.

        Я когда буду мерджить, смогу указать докуда мне нужно.
          Алексей Карташов
          15 августа 2013, 08:46
          0
          Блин, эти три коммита как-то странно добавились, что там diff'ов просто немерянно набралось. И из-за этого многие ссылки в описании побились, которые вели на страницу сравнения.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5