Magento Checkout Missing "PLACE ORDER" Button in Final Step of One-Page Checkout

There are a lot of old posts about Magento missing the final button in the checkout process. Many of them suggest that there may be corruption in the checkout.xml file following a significant revamp in version 1.5 - but a lot of these articles and their suggestions are outdated.

I ran into this problem using the "Hello Wired" free template and Magento 1.7 Community Edition. The following link helped me a lot:

http://www.magentocommerce.com/boards/error.php/viewthread/219969/P15/

There, "therob" suggests to do the following: Find app/design/frontend/default/*******/layout/checkout.xml (replacing asterisks with the name of your template, such as "hellowired").

Replace ALL of the following code:

<checkout_onepage_review>
    Mage_Checkout
    <remove name="right"/>
    <remove name="left"/>
 
    <block type="checkout/onepage_review_info" name="root" output="toHtml" template="checkout/onepage/review/info.phtml">
        <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/onepage/review/item.phtml</template></action>
        <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/onepage/review/item.phtml</template></action>
        <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/onepage/review/item.phtml</template></action>
        <block type="checkout/cart_totals" name="checkout.onepage.review.info.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
        <block type="core/text_list" name="checkout.onepage.review.info.items.before" as="items_before"/>
    </block>
</checkout_onepage_review> 

with THIS:

<checkout_onepage_review translate="label">
    <label>One Page Checkout Overview</label>
    <!-- Mage_Checkout -->
    <remove name="right"/>
    <remove name="left"/>
 
    <block type="checkout/onepage_review_info" name="root" output="toHtml" template="checkout/onepage/review/info.phtml">
        <action method="addItemRender"><type>default</type><block>checkout/cart_item_renderer</block><template>checkout/onepage/review/item.phtml</template></action>
        <action method="addItemRender"><type>grouped</type><block>checkout/cart_item_renderer_grouped</block><template>checkout/onepage/review/item.phtml</template></action>
        <action method="addItemRender"><type>configurable</type><block>checkout/cart_item_renderer_configurable</block><template>checkout/onepage/review/item.phtml</template></action>
        <block type="checkout/cart_totals" name="checkout.onepage.review.info.totals" as="totals" template="checkout/onepage/review/totals.phtml"/>
        <block type="core/text_list" name="checkout.onepage.review.info.items.before" as="items_before" translate="label">
            <label>Items Before</label>
        </block>
        <block type="core/text_list" name="checkout.onepage.review.info.items.after" as="items_after" translate="label">
            <label>Items After</label>
        </block>
        <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
    <block type="core/template" name="checkout.onepage.review.button" as="button" template="checkout/onepage/review/button.phtml"/>
    </block>
</checkout_onepage_review> 

It seems somewhere along the way the "checkout_onepage_review" block got a little screwed up. Following this suggestion worked perfectly for me after many other suggestions came close, but failed.

Important to note: I thought I had disabled all of my caching but after this fix failed the first time I decided to double-check and DOINK - there they were, all lit up. I disabled and flushed all caches and KACHOINK - there was the button!

Thanks to "therob" for posting this fix on the Magento forum!

Tags: