チェックアウトの請求ステップで常にパスワードフィールドを表示したい。チェックアウトの最初のステップを削除しました。
この請求ステップでは、顧客がパスワードを入力するとアカウントが作成されるようにします。顧客が入力フィールドを空のままにした場合、ゲストとしてチェックアウトします。
billing.phtmlでは、現在、この行はパスワード入力フィールドの上にあります。
<?php if($this->helper('skipstep1')->isSkipEnabled() && $this->getQuote()->isAllowedGuestCheckout()): ?>
<li class="fields">
<div class="field">
<label class="account-aanmaken-checkout" for="login:register"><?php echo $this->__('Register with us for future convenience') ?></label>
<div class="input-box checkout-account">
<input type="checkbox" class="checkbox" name="login[register]" id="login:register" value="1" title="<?php echo $this->__('Register') ?>" onclick="toggleRegister(this)"<?php if (Mage::getStoreConfig('checkout/skipstep1/default_method')=='register'): ?> checked="checked"<?php endif ?>/>
</div>
</li>
<?php endif ?>
パスワードフィールドのデフォルトコードは次のとおりです。
<li class="fields" id="register-customer-password">
<div class="field">
<label for="billing:customer_password" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
<div class="input-box">
<input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo $this->__('Password') ?>" class="input-text required-entry validate-password" />
</div>
</div>
<div class="field">
<label for="billing:confirm_password" class="required"><em>*</em><?php echo $this->__('Confirm Password') ?></label>
<div class="input-box">
<input type="password" name="billing[confirm_password]" title="<?php echo $this->__('Confirm Password') ?>" id="billing:confirm_password" class="input-text required-entry validate-cpassword" />
</div>
</div>
</li>
コントローラ:
<?php if (Mage::helper('skipstep1')->isSkipEnabled()): ?>
<script type="text/javascript">
function toggleRegister(checkbox) {
// If registration is checked, or the customer has no choice => register
if (!checkbox || checkbox.checked) {
checkout.method = 'register';
new Ajax.Request(
checkout.saveMethodUrl,
{method: 'post', onFailure: checkout.ajaxFailure.bind(checkout), parameters: {method:'register'}}
);
Element.show('register-customer-password');
if ($('remember-me-box')) {
$('remember-me-box').show();
}
// If the customer has a choice, and chose not to register => checkout as guest
} else {
checkout.method = 'guest';
new Ajax.Request(
checkout.saveMethodUrl,
{method: 'post', onFailure: checkout.ajaxFailure.bind(checkout), parameters: {method:'guest'}}
);
Element.hide('register-customer-password');
if ($('remember-me-box')) {
$('remember-me-box').hide();
}
}
}
function toggleLogin() {
$('login-form').toggle();
$('co-billing-form').toggle();
$('billing-login-link').toggle();
$('billing-guest-link').toggle();
}
<?php if (!Mage::getSingleton('customer/session')->isLoggedIn()): ?>
checkout.method = '<?php echo Mage::getStoreConfig('checkout/skipstep1/default_method') ?>';
checkout.gotoSection('billing');
toggleRegister($('login:register'));
<?php endif ?>
<?php if ($this->getMessagesBlock()->getMessageCollection()->count()): // Failed login => message => hide address form / show login ?>
toggleLogin();
<?php endif ?>
</script>
<?php endif ?>
チェックボックスが表示され、チェックされている場合は顧客が登録できます。オフのままにすると、お客様はゲストとしてチェックアウトします。それはうまくいきますが、チェックボックスなしで動作するように変更するにはどうすればよいですか?
これをどのように変更できますか?