2013-04-18 32 views
0

我相信這是創建「前往收銀臺」按鈕PHTML文件中的代碼:如何使用layout.xml在購物車頁面之外添加結賬按鈕?

<?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佈局文件採取的,我自己的塊,adfter謂總計塊:

<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> 

然而,這什麼也沒做,我我錯過了一些東西,我想這會讓我包含按鈕?

回答

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> 

相關問題