如何使用layout.xml在购物车页面外添加“继续结帐”按钮?

时间:2013-04-18 17:19:48

标签: magento

我相信这是创建“继续结帐”按钮的phtml文件中的代码:

<?php if(!$this->hasError()): ?>
    <ul class="checkout-types">
        <?php foreach ($this->getMethods('top_methods') as $method): ?>
            <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
                <li><?php echo $methodHtml; ?></li>
            <?php endif; ?>
        <?php endforeach; ?>
    </ul>
<?php endif; ?>

然而,当我将它添加到另一个作为cart.phtml兄弟的phtml文件时,我收到一条错误消息,说明正在向foreach提供无效参数。

然后我尝试添加块:

<block type="core/text_list" name="checkout.cart.top_methods" as="top_methods" translate="label">
    <label>Payment Methods Before Checkout Button</label>
    <block type="checkout/onepage_link" name="checkout.cart.methods.onepage" template="checkout/onepage/link.phtml"/>
</block>

从checkout.xml布局文件中获取到我自己的块,然后是总计块:

<block type="page/html" name="checkout_process" as="checkout_process" template="page/html/checkout_process.phtml">                  
    <block type="checkout/cart_totals" name="checkout.cart.totals" as="totals" template="checkout/cart/totals.phtml"/>
</block>

然而这没有做什么,我错过了什么,我想这会让我包括按钮?

1 个答案:

答案 0 :(得分:0)

您在哪里放置该代码?并非所有块都是自动打印的,但需要使用$this->getChildHtml('your_block')打印(请参阅magento-layouts-blocks-and-templates)。 这是将此按钮添加到右列的最小示例,我将其放在local.xml布局文件中:

<layout version="0.1.0">
<default>
    <reference name="right">
        <block type="checkout/onepage_link" name="my.cart.button" template="checkout/onepage/link.phtml"/>
    </reference>
</default>