Shopify Plus Checkout.liquid, дождитесь загрузки способов доставки

В магазине shopify PLUS я пытаюсь настроить checkout.liquid на странице выбора способа доставки, пока все хорошо, но мой скрипт работает только после обновления. Вероятно, это связано с тем, что мой скрипт запускается до загрузки всех методов доставки :(

Могу ли я прослушать какое-нибудь событие, которое сообщит мне, что все способы доставки загружены?

Я попытался использовать событие shopify.onCartupdate, потому что после загрузки методов доставки первый из них применяется к оформлению заказа по умолчанию (добавляется к общей сумме заказа), но, к сожалению, и, возможно, логично, оформление заказа не обновляет корзину для доставки метод.

Любая помощь будет оценена по достоинству.


person Thomas Lang    schedule 14.10.2018    source источник
comment
Какой настройки вы пытаетесь добиться?   -  person Josh Brown    schedule 15.10.2018
comment
Я создал службу доставки для голландского варианта доставки, где клиент может выбрать ближайший к нему пункт выдачи, потому что это 10 вариантов, я конвертирую 10 вариантов в 1 и добавляю раскрывающийся список в этом единственном варианте доставки под названием «пункт выдачи» «Все работает, кроме первого запроса. Я знаю, что JavaScript далек от iDeal, и мне бы хотелось, чтобы там был раздел shipping_method.liquid.   -  person Thomas Lang    schedule 15.10.2018


Ответы (2)


Супер поздний ответ, однако вы можете использовать этот новый фрагмент.

Checkout.$(document).on('page:change', function() {
  // ...
});

Внутри функции обратного вызова вы можете запустить любой код или использовать window.location, чтобы определить, на какой странице вы находитесь. Необходимо запускать на checkout.liquid, что означает, что Plus хранит только.

person Harry J    schedule 21.05.2020

Способы доставки всегда загружаются ПОСЛЕ отрисовки checkout.liquid. Так что вы не можете повлиять на них. Что бы вы ни пытались сделать, вам придется запатчить обезьяну в мире Javascript. И даже тогда удачи. Я не уверен, что есть даже событие, на которое вы можете подписаться, на что-то вроде shippingMethodsReady.

person David Lazar    schedule 14.10.2018
comment
Привет, Дэвид! Да, я так и думал, поэтому, к сожалению, я исправляю обезьяну в JavaScript. Я создал службу доставки для голландского варианта доставки, где клиент может выбрать ближайший к нему пункт получения, потому что это 10 вариантов, я конвертирую 10 вариантов в 1 и добавляю раскрывающийся список в этом единственном варианте доставки под названием «пункт выдачи» «Все работает, кроме первого запроса. Я знаю, что JavaScript далек от iDeal, и мне бы хотелось, чтобы там был раздел shipping_method.liquid. - person Thomas Lang; 15.10.2018
comment
Вот скриншот того, что у меня есть, слева - нормальный дисплей параметров доставки, когда я иду к оформлению заказа, правый - когда я нажимаю кнопку обновления или снова возвращаюсь назад и вперед (похоже, что запрос затем обналичивается, а затем мой код работает) imgur.com/a/mWZJUbp - person Thomas Lang; 15.10.2018