0

我相信这是创建“继续结帐”按钮的 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; ?>

但是,当我将它添加到另一个 phtml 文件时,它是 cart.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>

但是这什么也没做,我是否遗漏了什么,我认为这可以让我包含按钮?

4

1 回答 1

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>

于 2013-06-08T16:56:19.557 回答