Пару вопросов по дополнению к ms2
Василий, я как-то говорил, что делаю компонент для скидочной системы. Вот дошли до него руки.
И такая ситуация — мне надо валидировать скидочные карты, делать пересчёт заказа и прочее.
Как я понимаю, самый лучший путь — это создание кастомного класса заказов. И при установке этого пакета надо указать этот кастомный класс в настройках. И вот как здесь поступить?
а) перезаписывать соответствующую настройку (ms2_order_handler_class), вписать туда название своего класса. Но вдруг у человека уже есть свой кастомный класс? В таком случае перезаписывать настройку — не камильфо. Если кастомный класс уже есть, то в любом случае разработчику придётся вручную переписывать и совмещать свой и мой класс. Тоже не хорошо.
б) Не перезаписывать настройку и в репозитории в инструкции написать о том, что необходимо вручную поменять данную настройку.
Как тут лучше поступить?
Потом, после валидации карты надо как-то показать соответствующее сообщение об ошибке. И вот здесь оооочень пригодился бы тот самый пуллреквест с коллбэками в default.js и отображением ошибок в сниппете :-)
А чтобы добавить поле ввода карты на фронтенд по-любому придётся делать свой чанк, который будет полной копией твоего chunk.ms_order_outer.tpl, но только с полем вводом номера карты?
p.s. извиняюсь за столь постоянную назойливость, просто советоваться больше не с кем
И такая ситуация — мне надо валидировать скидочные карты, делать пересчёт заказа и прочее.
Как я понимаю, самый лучший путь — это создание кастомного класса заказов. И при установке этого пакета надо указать этот кастомный класс в настройках. И вот как здесь поступить?
а) перезаписывать соответствующую настройку (ms2_order_handler_class), вписать туда название своего класса. Но вдруг у человека уже есть свой кастомный класс? В таком случае перезаписывать настройку — не камильфо. Если кастомный класс уже есть, то в любом случае разработчику придётся вручную переписывать и совмещать свой и мой класс. Тоже не хорошо.
б) Не перезаписывать настройку и в репозитории в инструкции написать о том, что необходимо вручную поменять данную настройку.
Как тут лучше поступить?
Потом, после валидации карты надо как-то показать соответствующее сообщение об ошибке. И вот здесь оооочень пригодился бы тот самый пуллреквест с коллбэками в default.js и отображением ошибок в сниппете :-)
А чтобы добавить поле ввода карты на фронтенд по-любому придётся делать свой чанк, который будет полной копией твоего chunk.ms_order_outer.tpl, но только с полем вводом номера карты?
p.s. извиняюсь за столь постоянную назойливость, просто советоваться больше не с кем
Комментарии: 5
Нда, поспешил…
Вспомнил про крайнюю статью про плагины и новый метод miniShop2::invokeEvent(). Тогда вопрос про собственный класс и настройки снимается :-)
Но тогда как валидировать свои поля при выводе через сниппет, когда (и если) эта возможность появится. Ведь в методе msOrderHandler::validate() не вызывается никаких событий, а значит свои поля отвалидировать таким образом не получится…
Вспомнил про крайнюю статью про плагины и новый метод miniShop2::invokeEvent(). Тогда вопрос про собственный класс и настройки снимается :-)
Но тогда как валидировать свои поля при выводе через сниппет, когда (и если) эта возможность появится. Ведь в методе msOrderHandler::validate() не вызывается никаких событий, а значит свои поля отвалидировать таким образом не получится…
Значит, надо мне нужно добавить новые системные события.
Создай issue, добавлю. Твой пулл-реквест на очереди, скоро займусь.
Создай issue, добавлю. Твой пулл-реквест на очереди, скоро займусь.
Твой пулл-реквест на очереди, скоро займусь.Супер!
По событиям issue создал.
Там, кстати, в пуллреквесте странность. К нему почему-то прибилось 3 коммита, которые я отправлял в свой репозиторий уже после создания этого самого пуллреквеста. Не знаю почему так. По логике такого быть не должно, но в git'е я понимаю мало (пользуюсь гитхабовским гуёвым клиентом), возможно так и должно быть, хз.
В общем, последние три коммита Discount cards foundation, Discount types ready, DiscountCard grid там не нужны.
А это оно так автоматом прибавляет, типа различия между твоим и моим репо.
Я когда буду мерджить, смогу указать докуда мне нужно.
Я когда буду мерджить, смогу указать докуда мне нужно.
Блин, эти три коммита как-то странно добавились, что там diff'ов просто немерянно набралось. И из-за этого многие ссылки в описании побились, которые вели на страницу сравнения.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.