1
我在结账页面上添加了一个自定义块到“订单汇总”。它显示在两个步骤 - 运输和付款。但我需要知道目前的步骤是什么。我怎么能在这个块上得到它?如何在magento 2的结账页上获得步骤名称?
我在结账页面上添加了一个自定义块到“订单汇总”。它显示在两个步骤 - 运输和付款。但我需要知道目前的步骤是什么。我怎么能在这个块上得到它?如何在magento 2的结账页上获得步骤名称?
您可以在自定义块模板/组件内使用Magento_Checkout/js/view/progress-bar
组件或Magento_Checkout/js/model/step-navigator
组件(由progress-bar使用)。
使用进度条:
var registry = require('uiRegistry'),
progressBar = registry.get('index = progressBar'),
firstStep = progressBar.steps()[0];
progressBar.isProcessed(firstStep); // returns bool, shipping step by default
使用步骤导航器:
var stepnav = require('Magento_Checkout/js/model/step-navigator');
stepnav.getActiveItemIndex() // returns int - 0 for shipping & 1 for payment by default
或:
var registry = require('Magento_Checkout/js/model/step-navigator');
registry.isProcessed('shipping'); // returns bool, you are on shipping step
注意:所述第二步骤的名字是支付默认
PS:自己的组件里面你可以添加Magento_Checkout/js/view/progress-bar
或Magento_Checkout/js/model/step-navigator
的定义列表:
define(
[
'Magento_Checkout/js/model/step-navigator'
],
function (
stepNavigator
) {
// do something with stepNavigator
}
);