OK、私が思いついた本当のバグ修正です。
以下を置き換えて/skin/frontend/base/default/js/opcheckout.js
、setMethod()
メソッドを編集および編集します。
setMethod: function(){
if ($('login:guest') && $('login:guest').checked) {
this.method = 'guest';
new Ajax.Request(
this.saveMethodUrl,
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'guest'}}
);
Element.hide('register-customer-password');
this.gotoSection('billing', true);
}
else if($('login:register') && ($('login:register').checked || $('login:register').type == 'hidden')) {
this.method = 'register';
new Ajax.Request(
this.saveMethodUrl,
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'register'}}
);
Element.show('register-customer-password');
this.gotoSection('billing', true);
}
else{
alert(Translator.translate('Please choose to register or to checkout as a guest').stripTags());
return false;
}
document.body.fire('login:setMethod', {method : this.method});
},
と:
setMethod: function(){
var formKey = $('checkout-step-login').select('[name=form_key]')[0].value;
if ($('login:guest') && $('login:guest').checked) {
this.method = 'guest';
new Ajax.Request(
this.saveMethodUrl,
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'guest', form_key:formKey}}
);
Element.hide('register-customer-password');
this.gotoSection('billing', true);
}
else if($('login:register') && ($('login:register').checked || $('login:register').type == 'hidden')) {
this.method = 'register';
new Ajax.Request(
this.saveMethodUrl,
{method: 'post', onFailure: this.ajaxFailure.bind(this), parameters: {method:'register', form_key:formKey}}
);
Element.show('register-customer-password');
this.gotoSection('billing', true);
}
else{
alert(Translator.translate('Please choose to register or to checkout as a guest').stripTags());
return false;
}
document.body.fire('login:setMethod', {method : this.method});
},
パッチのv2を待っている間にそれを行います