Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

OnePageCheckout funktioniert nur im Standard Layout? 
 
mdolphin
Member
 
Total Posts:  35
Joined:  2009-06-16
 

Ich verzweifle gerade an einer Template Änderung für das One Page Checkout: Mein gesamter Shop soll die Navigation links haben, und im Prinzip ist alles im “2columns-left” Layout. Nur mit dem ollen Checkout-Prozess funktioniert das nicht. Der Standard Code in der checkout.xml sieht so aus:

<!--
One page checkout main layout
-->

    <
checkout_onepage_index>
        <!-- 
Mage_Checkout -->
        <
remove name="left"/>

        <
reference name="root">
            <
action method="setTemplate"><template>page/2columns-right.phtml</template></action>
        </
reference>
        <
reference name="right">
            <
action method="unsetChildren"></action>

            <
block type="checkout/onepage_progress" name="checkout.progress" before="-" template="checkout/onepage/progress.phtml"/>
        </
reference>
        <
reference name="content">
            <
block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
....

Alles was ich gemacht habe, ist ein anderes Gesamtlayout für diese Seite zu wählen (2columns-left.phtml) und checkout.progress von der rchten in die linke Spalte zu verlegen:

<!--
One page checkout main layout
-->

    <
checkout_onepage_index>
        <!-- 
Mage_Checkout -->
        <!--<
remove name="left"/>-->

        <
reference name="root">
            <
action method="setTemplate"><template>page/2columns-left.phtml</template></action>
        </
reference>
        <
reference name="left">
           <!--  <
action method="unsetChildren"></action>-->
        <
remove name="catalog.vertnav"/>
            <
block type="checkout/onepage_progress" name="checkout.progress" after="cart_sidebar" template="checkout/onepage/progress.phtml"/>
        </
reference>
        <
reference name="content">
            <
block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
...

Prima, sieht alles so aus wie gewollt. Nur funktioniert es jetzt nicht mehr! ich komme über die Eingabe der Adresse nicht mehr hinaus. Wenn ich im Checkout Prozess nach Eingabe der Adresse auf “weiter” klicke, kommt dieses kleine animierte Ladebilchen, aber man kommt nicht mehr zum nächsten Abschnitt, um z.B. die Versandart auszuwählen.

Natürlich funktioniert wieder alles, wenn ich den Fortschrittsblock wieder in die rechte Spalte stelle, im 2column_right Layout. Das gibt’s doch nicht!

Hat bitte irgendjemand eine Idee wei ich das Ding auch im 2column-left Layout ans Laufen bringen kann?

Vielen Dank im Voraus
Michel

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sparkasse
Jr. Member
 
Total Posts:  13
Joined:  2009-08-26
Germany
 

Hallo mdolphin,

du musst das default Template anpassen, bzw. die Javascript Dateien überschreiben.

öffne: {magentoDir}/skin/frontend/default/default/js/opcheckout.js

suche nach:

reloadProgressBlock: function(){
        
var updater = new Ajax.Updater($$('.col-right')[0]this.progressUrl{method'get'onFailurethis.ajaxFailure.bind(this)});
    
},

ändere den Ausdruck ‘.col-right’ zu ‘.col-left’ und der Checkoutprozess sollte auch mit dem linken Template funktionieren.
Wenn du “content” rein schreibst, funktioniert der Checkoutprozess mit dem 1column Template.

Gruß
Sparky

[English Version]
Hello mdolphin,

you have to change the default templates (or overwrite them)

open: {magentoDir}/skin/frontend/default/default/js/opcheckout.js

search for:

reloadProgressBlock: function(){
        
var updater = new Ajax.Updater($$('.col-right')[0]this.progressUrl{method'get'onFailurethis.ajaxFailure.bind(this)});
    
},

change the ‘.col-right’ to ‘.col-left’ and it should work!
Change to “content” if you use the 1column template.

Regards
Sparky

 
Magento Community Magento Community
Magento Community
Magento Community
 
s.hafa
Jr. Member
 
Total Posts:  20
Joined:  2009-09-14
 

Wow, besten Dank an Sparkasse! Ich hab ewig gesucht, dein Beitrag war die Lösung!

Vielen Dank!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top