Ich möchte das Passwortfeld immer im Abrechnungsschritt der Kasse anzeigen. Wir haben den ersten Schritt an der Kasse entfernt.
In diesem Abrechnungsschritt möchten wir, dass ein Kunde, der ein Passwort eingibt, ein Konto erstellt. Wenn der Kunde die Eingabefelder leer lässt, wird er als Gast ausgecheckt.
In billing.phtml habe ich derzeit diese Zeile über den Passworteingabefeldern:
<?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 ?>
Der Standardcode für das Kennwortfeld lautet:
<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>
Regler:
<?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 ?>
Das zeigt ein Kontrollkästchen an, wenn aktiviert, kann sich der Kunde registrieren. Wenn Sie das Kontrollkästchen nicht aktivieren, wird der Kunde als Gast auschecken. Das funktioniert gut, aber wie kann ich ändern, dass es ohne das Kontrollkästchen funktioniert.
Wie kann ich das ändern?