Улучшение одностраничного оформления заказа в Magento: добавление удобства использования — маски и т. д.

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

Потом решил добавить немного функциональности и юзабилити специи. JQuery.Payment – это простое и в то же время удобное расширение. Я добавил его в головной блок, он успешно загружен.

Но мне так и не удалось прикрепить его к входу.

jQuery('#pos_cc_number').payment('formatCardNumber');

С или без document.ready; не повезло. Затем я вставил приведенный выше оператор JQuery в консоль Chrome, и все заработало гладко.

Также протестированы события щелчка JQuery, и они также не были привязаны к элементам ввода. Если бы я мог заставить это работать, планирую использовать также credit-card-dimmer .

Я действительно тщательно искал, но, видимо, что-то упустил. Любая помощь будет оценена по достоинству.

Спасибо!

PS: Протестировано на Magento CE 1.7.0.2 — Classic OnePage-Checkout.


person enesismail    schedule 26.04.2013    source источник
comment
Пробовали загружать в футер? Иногда это приходилось делать, учитывая, что Mage загружает что-то в DOM.   -  person Zak    schedule 26.04.2013
comment
@Zak Я подумал об этом и, прежде чем прикреплять к нему какое-либо событие, проверил, существует ли этот элемент в DOM или нет. Это там.   -  person enesismail    schedule 26.04.2013
comment
Без сомнения exists .. Но привязан ли он к JQuery? Вы пробовали использовать .on() на всякий случай?   -  person Zak    schedule 26.04.2013


Ответы (1)


По умолчанию Magento использует одностраничную кассу. При использовании проверки на одной странице загружается только первый шаг проверки для готового документа. Остальные загружаются AJAX по мере выполнения шагов, поэтому искомый элемент отсутствует, когда вы его ищете.

Похоже, что объект Payment в opcheckout.js имеет удобный метод addAfterInitFunction, который вы можете использовать для запуска любого кода, который вам нужен после загрузки шага оплаты.

person wierdo    schedule 27.04.2013
comment
Я проверю и отчитаюсь. Спасибо. - person enesismail; 27.04.2013
comment
Рад быть полезным! :) - person wierdo; 28.04.2013