单页结帐的自定义实例,可能在magento?

时间:2011-02-04 00:24:02

标签: php xml magento

我想要做的是设置3页不同的onepage结帐流程实例,我认为最简单的方法就是创建3个新的cms页面,用以下内容覆盖xml(取自checkout.xml,请参阅帖子底部的代码)并完成这项工作。

这会加载所有内容,但是当作为访客执行这些步骤时会触发一些失败重定向(位于onepage.phtml中,我相信),看起来它不明白/ checkout / onepage / saveMethod是什么(返回浏览器中的403错误),我假设因为我真的在cms页面的某个实例而不是结帐页面,因为某些事情没有在幕后加载。

我希望使用这种方法来自定义这个过程,因为我觉得它看起来像是最干净的方式,而不必改变太多,但我不确定究竟是什么没有被加载到这里使这项工作以及如何加载它。我试图找到一种方法来通过xml调用mage_checkout或其他内容来让cms页面将其识别为结帐并使其正常工作,但无法找到任何内容。

如果这是一个更简单的方法,我的最终目标实际上是有3个独立的/ template / checkout / onepage / phtml模板集合,因为它们都会有所不同,附加到3个不同的网址(我只是隐藏默认/ onepage / checkout)。

    <!-- 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"/>
        <block type="livechat/template" before="checkout.progress" name="livechat.chat" template="livechat/chat.phtml"/>
    </reference>
    <reference name="content">
        <block type="checkout/onepage" name="checkout.onepage" template="checkout/onepage.phtml">
            <block type="checkout/onepage_login" name="checkout.onepage.login" as="login" template="checkout/onepage/login.phtml"/>
            <block type="checkout/onepage_billing" name="checkout.onepage.billing" as="billing" template="checkout/onepage/billing.phtml"/>
            <block type="checkout/onepage_shipping" name="checkout.onepage.shipping" as="shipping" template="checkout/onepage/shipping.phtml"/>
            <block type="checkout/onepage_shipping_method" name="checkout.onepage.shipping_method" as="shipping_method" template="checkout/onepage/shipping_method.phtml">
                <block type="checkout/onepage_shipping_method_available" name="checkout.onepage.shipping_method.available" as="available" template="checkout/onepage/shipping_method/available.phtml"/>
                <block type="checkout/onepage_shipping_method_additional" name="checkout.onepage.shipping_method.additional" as="additional" template="checkout/onepage/shipping_method/additional.phtml"/>
            </block>
            <block type="checkout/onepage_payment" name="checkout.onepage.payment" as="payment" template="checkout/onepage/payment.phtml">
                <block type="checkout/onepage_payment_methods" name="checkout.payment.methods" as="methods" template="checkout/onepage/payment/methods.phtml">
                    <action method="setMethodFormTemplate"><method>purchaseorder</method><template>payment/form/purchaseorder.phtml</template></action>
                </block>
            </block>
            <block type="checkout/onepage_review" name="checkout.onepage.review" as="review" template="checkout/onepage/review.phtml">
                <block type="checkout/agreements" name="checkout.onepage.agreements" as="agreements" template="checkout/onepage/agreements.phtml"/>
            </block>
        </block>
    </reference>

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是在管理区域中设置三个网站或商店。然后,您只需根据文档为每个主题设置主题。您可以根据需要单独修改每个主题/视图。