Die Anpassungen:

Wie ich bereits erwähnte, muss man dazu einige kleine Modifikationen vornehmen. Dies betrifft allerdings nur zwei Dateien.

Datei layout/checkout.xml

In diesem XML nach folgender Sektion suchen:

1
2
<checkout_onepage_index>
      <reference name="content">

Nach allen Blockelementen folgenden Eintrag einfügen:

1
<remove name="checkout.onepage.login"/>

Damit wird das Laden der login.phtml unterbunden.

Datei template/checkout/onepage.phtml

In dieser findet sich ganz am Ende der Datei ein JavaScript. Dies wird komplett mit dem folgenden Code ersetzt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<input type="hidden" name="checkout_method" id="login:guest" value="guest" checked="checked" />
<script type="text/javascript">
//<![CDATA[
var accordion = new Accordion('checkoutSteps', '.head', true);
<?php if($this->getActiveStep()): ?>
accordion.openSection('opc-<?php echo $this->getActiveStep() ?>');
<?php endif ?>

var checkout = new Checkout(accordion,{
    progress: '<?php echo $this->getUrl('checkout/onepage/progress') ?>',
    review: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
    saveMethod: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>',
    failure: '<?php echo $this->getUrl('checkout/cart') ?>'}
);

var cb = $("login:guest");
cb.checked = true;
checkout.setMethod();
//]]>
</script>

Hinweis:

Wenn man den Login deaktiviert hat, sollte man im Magento-Backend auch die Wunschliste abschalten, da diese einen Login voraussetzt. Zu finden ist dieser Punkt unter System –> Wunschzettel –> Allgemeine Optionen

8 Meinungen zu “Magento: Login beim Checkout (Onepage) entfernen

  1. Tolle Idee – liest sich gut. Das kann ich bestimmt bei dem einem oder anderem Projekt mal gebrauchen. Werde dann hier über meine Erfahrungen berichten…

    Ich nehme an, ist mit den aktuellen Versionen 1.4.x getestet?

  2. Danke, das habe ich gesucht.
    In der template/checkout/onepage.phtml kann man übrigens noch folgendes (kursiv hervorgehoben) machen, damit die Schritt-Nummerierung stimmt und der erste Schritt komplett ausgeblendet wird:

    1
    2
    3
    4
    5
    ...
    <ol class="opc" id="checkoutSteps">
    <?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
    <strong><em><?php if ($_stepId === 'login') { $i = 0; continue; } ?></em></strong>
    ...
    • OK, Formatierung fehlgeschlagen. Es muss natürlich nur folgendes eingefügt werden:

      1
      <?php if ($_stepId === 'login') { $i = 0; continue; } ?>
  3. Es kommt immer darauf an, was der Shop verkauft und ob die Kunden potentiell wiederkehrend sind oder der Kauf nur einmal alle Jubeljahre stattfindet. Staubsaugerbeutel oder Kontaktlinsen werden häufiger gekauft als Mikrowellen. Eben der Unterschied zwischen Ver- und Gebrauchsgütern. Bei Shops, die vorrangig auf Gebrauchsgüter spezialisiert sind, ist es sinnvoll, über ein Entfernen der Registrierungsprozedur nachzudenken.

    Insofern ist die Möglichkeit, den Login abzustellen schon sinnvoll, nicht zuletzt aufgrund der Datenschutzdebatte. Bisher hat das bei uns noch kein Kunde gewünscht, aber falls es mal vorkommt, werde ich Deinen Tipp auf dem Radar behalten.

  4. Super Sache deine Anleitung

    hab ewig im Netz nach einer Aleitung gesucht wie ich das mache und deine war wirklich die einzige die ich nach 5 Stunden Internetrecherche gefunden habe, deswegen Thumbs Up, hat wunderbar geklappt. Vorallem endlich mal ein kleiner Einblick für mich weil ich doch noch ziemlich frisch bin mit php/phtml/xml usw.

    MfG Donnie

    PS: Ich kann jetzt auch bestätigen das es mit Version 1.7.0.2 auch funktioniert,…

  5. ist das ganze noch aktuell?

    mit 1.9 läuft es wohl nicht mehr? wenn das ganze eingestellt wird, ist zwar nur noch eine gast bestellung möglich, jedoch werden keine e-mails mehr versendet?

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>