2015-11-05 3 views
2

Мне нужно запустить JavaScript, чтобы манипулировать некоторыми полями при заказе (автовыбор варианта доставки) в магазине Magento. Поскольку каждый этап одностороннего аккордеона загрузки загружается динамически, я не могу сделать это при загрузке страницы, и вместо этого нужно сделать это, когда будет достигнута соответствующая ступень аккордеона.Являются ли события JavaScript инициированными во время одностраничной проверки Magento?

Есть ли событие JavaScript, с которым я могу подключиться, чтобы достичь этого? Я ожидаю, что событие будет запущено, когда следующий шаг начнет загружаться, а затем завершит загрузку, но я не могу найти на нем никакой документации.

Существует ли такая вещь, или мне нужно найти обходной путь?

+0

Я пытался добиться нечто подобное некоторое время назад, и я не мог ничего найти. То, что я закончил делать, это копирование файла opcheckout.js в папку скинов моей темы и изменение этого. –

+0

@SamuelComan - Да, я сделал это, перезаписав существующий метод, чтобы сделать обычную функциональность, а также свою собственную. Однако это не очень чистый подход, так как любые обновления темы, применимые к этой функции, не вступят в силу. Из моих исследований нет событий JS, которые, по моему мнению, являются довольно надзором. – Mike

ответ

0

Существует решение, но оно немного грязно. Вы могли ставиться Checkout.prototype.gotoSection таким образом:

<script type="text/javascript"> 

    // Make ref to default function 
    Checkout.prototype.baseGotoSection = Checkout.prototype.gotoSection; 

    // "Rewrite" function 
    Checkout.prototype.gotoSection = function(section, reloadProgressBlock){ 

     // <your code> 

     // call default function 
     return this.baseGotoSection(section, reloadProgressBlock); 
    }; 

</script> 
Смежные вопросы