Magento 2 : How do I hide a Customized Checkout Step





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







1















I have added a custom step in checkout. I would like to use some JS to hide or disable the step based on if the associated shipping option is selected or not.
I tried to wrap it in if statement but failed, so I might just be placing the if statement incorrectly.
The error returned in console was "document.getElementById(...) is null".



define(
[
'ko',
'uiComponent',
'underscore',
'Magento_Checkout/js/model/step-navigator'
],
function (
ko,
Component,
_,
stepNavigator
) {
'use strict';
/**
*
* mystep - is the name of the component's .html template,
* <Vendor>_<Module> - is the name of the your module directory.
*
*/
return Component.extend({
defaults: {
template: 'ICA_Customshipping/mystep'
},

//add here your logic to display step,
isVisible: ko.observable(true),


/**
*
* @returns {*}
*/
initialize: function () {
//My attempt to wrap it in an if statement has failed
if(document.getElementById('s_method_icacustomshipping_icacustomshipping').checked) {
this._super();
// register your step
stepNavigator.registerStep(
//step code will be used as step content id in the component template
'step_code',
//step alias
null,
//step title value
'Step Title',
//observable property with logic when display step or hide step
this.isVisible,

_.bind(this.navigate, this),

/**
* sort order value
* 'sort order value' < 10: step displays before shipping step;
* 10 < 'sort order value' < 20 : step displays between shipping and payment step
* 'sort order value' > 20 : step displays after payment step
*/
15
);

return this;

}
},

/**
* The navigate() method is responsible for navigation between checkout step
* during checkout. You can add custom logic, for example some conditions
* for switching to your custom step
*/
navigate: function () {

},

/**
* @returns void
*/
navigateToNextStep: function () {
stepNavigator.next();
}
});
}
);









share|improve this question

























  • did you get some solution for this

    – Mohammad Mujassam
    Mar 6 '17 at 11:44


















1















I have added a custom step in checkout. I would like to use some JS to hide or disable the step based on if the associated shipping option is selected or not.
I tried to wrap it in if statement but failed, so I might just be placing the if statement incorrectly.
The error returned in console was "document.getElementById(...) is null".



define(
[
'ko',
'uiComponent',
'underscore',
'Magento_Checkout/js/model/step-navigator'
],
function (
ko,
Component,
_,
stepNavigator
) {
'use strict';
/**
*
* mystep - is the name of the component's .html template,
* <Vendor>_<Module> - is the name of the your module directory.
*
*/
return Component.extend({
defaults: {
template: 'ICA_Customshipping/mystep'
},

//add here your logic to display step,
isVisible: ko.observable(true),


/**
*
* @returns {*}
*/
initialize: function () {
//My attempt to wrap it in an if statement has failed
if(document.getElementById('s_method_icacustomshipping_icacustomshipping').checked) {
this._super();
// register your step
stepNavigator.registerStep(
//step code will be used as step content id in the component template
'step_code',
//step alias
null,
//step title value
'Step Title',
//observable property with logic when display step or hide step
this.isVisible,

_.bind(this.navigate, this),

/**
* sort order value
* 'sort order value' < 10: step displays before shipping step;
* 10 < 'sort order value' < 20 : step displays between shipping and payment step
* 'sort order value' > 20 : step displays after payment step
*/
15
);

return this;

}
},

/**
* The navigate() method is responsible for navigation between checkout step
* during checkout. You can add custom logic, for example some conditions
* for switching to your custom step
*/
navigate: function () {

},

/**
* @returns void
*/
navigateToNextStep: function () {
stepNavigator.next();
}
});
}
);









share|improve this question

























  • did you get some solution for this

    – Mohammad Mujassam
    Mar 6 '17 at 11:44














1












1








1








I have added a custom step in checkout. I would like to use some JS to hide or disable the step based on if the associated shipping option is selected or not.
I tried to wrap it in if statement but failed, so I might just be placing the if statement incorrectly.
The error returned in console was "document.getElementById(...) is null".



define(
[
'ko',
'uiComponent',
'underscore',
'Magento_Checkout/js/model/step-navigator'
],
function (
ko,
Component,
_,
stepNavigator
) {
'use strict';
/**
*
* mystep - is the name of the component's .html template,
* <Vendor>_<Module> - is the name of the your module directory.
*
*/
return Component.extend({
defaults: {
template: 'ICA_Customshipping/mystep'
},

//add here your logic to display step,
isVisible: ko.observable(true),


/**
*
* @returns {*}
*/
initialize: function () {
//My attempt to wrap it in an if statement has failed
if(document.getElementById('s_method_icacustomshipping_icacustomshipping').checked) {
this._super();
// register your step
stepNavigator.registerStep(
//step code will be used as step content id in the component template
'step_code',
//step alias
null,
//step title value
'Step Title',
//observable property with logic when display step or hide step
this.isVisible,

_.bind(this.navigate, this),

/**
* sort order value
* 'sort order value' < 10: step displays before shipping step;
* 10 < 'sort order value' < 20 : step displays between shipping and payment step
* 'sort order value' > 20 : step displays after payment step
*/
15
);

return this;

}
},

/**
* The navigate() method is responsible for navigation between checkout step
* during checkout. You can add custom logic, for example some conditions
* for switching to your custom step
*/
navigate: function () {

},

/**
* @returns void
*/
navigateToNextStep: function () {
stepNavigator.next();
}
});
}
);









share|improve this question
















I have added a custom step in checkout. I would like to use some JS to hide or disable the step based on if the associated shipping option is selected or not.
I tried to wrap it in if statement but failed, so I might just be placing the if statement incorrectly.
The error returned in console was "document.getElementById(...) is null".



define(
[
'ko',
'uiComponent',
'underscore',
'Magento_Checkout/js/model/step-navigator'
],
function (
ko,
Component,
_,
stepNavigator
) {
'use strict';
/**
*
* mystep - is the name of the component's .html template,
* <Vendor>_<Module> - is the name of the your module directory.
*
*/
return Component.extend({
defaults: {
template: 'ICA_Customshipping/mystep'
},

//add here your logic to display step,
isVisible: ko.observable(true),


/**
*
* @returns {*}
*/
initialize: function () {
//My attempt to wrap it in an if statement has failed
if(document.getElementById('s_method_icacustomshipping_icacustomshipping').checked) {
this._super();
// register your step
stepNavigator.registerStep(
//step code will be used as step content id in the component template
'step_code',
//step alias
null,
//step title value
'Step Title',
//observable property with logic when display step or hide step
this.isVisible,

_.bind(this.navigate, this),

/**
* sort order value
* 'sort order value' < 10: step displays before shipping step;
* 10 < 'sort order value' < 20 : step displays between shipping and payment step
* 'sort order value' > 20 : step displays after payment step
*/
15
);

return this;

}
},

/**
* The navigate() method is responsible for navigation between checkout step
* during checkout. You can add custom logic, for example some conditions
* for switching to your custom step
*/
navigate: function () {

},

/**
* @returns void
*/
navigateToNextStep: function () {
stepNavigator.next();
}
});
}
);






magento2 checkout javascript shipping-methods






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 12 mins ago









Muhammad Anas

6521320




6521320










asked Feb 17 '17 at 3:06









jameson1128jameson1128

86




86













  • did you get some solution for this

    – Mohammad Mujassam
    Mar 6 '17 at 11:44



















  • did you get some solution for this

    – Mohammad Mujassam
    Mar 6 '17 at 11:44

















did you get some solution for this

– Mohammad Mujassam
Mar 6 '17 at 11:44





did you get some solution for this

– Mohammad Mujassam
Mar 6 '17 at 11:44










0






active

oldest

votes












Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f160387%2fmagento-2-how-do-i-hide-a-customized-checkout-step%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Magento Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f160387%2fmagento-2-how-do-i-hide-a-customized-checkout-step%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

What other Star Trek series did the main TNG cast show up in?

Berlina muro

Berlina aerponto