2012-01-13 72 views
1

在Magento管理的控制面板,添加一行用於在網格的端Magento管理GiftCardAccount

顧客=> GiftCardAccounts

顯示總平衡我想顯示的總平衡的作爲行只是在網格下面。 我嘗試在Grid.php中的方法public function __construct()中設置$this->setCountTotals(true);,但它沒有奏效。 請讓我知道如何做到這一點。任何幫助將不勝感激。

+0

爲什麼這還沒有回答? – Anz 2012-01-20 05:28:19

+0

下面的答案是正確的,請將其標記爲答案並投票! – Kostanos 2013-07-11 22:55:13

回答

2

我遇到了你,因爲我正在爲自己尋找答案。我覺得有趣的是,這似乎是一個不存在的在線討論話題 - 也許每個人都已經知道了?

這裏是你需要做什麼:

在你的模塊etc/config.xml,覆蓋塊,像這樣:

<blocks> 
    <enterprise_giftcardaccount> 
     <rewrite> 
      <adminhtml_giftcardaccount_grid>Namespace_Giftcardaccount_Adminhtml_Giftcardaccount_Grid</adminhtml_giftcardaccount_grid> <!-- I like to put overrides/rewrites in their same folder under my namespace --> 
     </rewrite> 
    </enterprise_giftcardaccount> 
</blocks> 

現在,在命名空間/ Giftcardaccount /座/ Adminhtml/Giftcardaccount /網格.php,這樣做:

<?php 

class Namespace_Giftcardaccount_Adminhtml_Giftcardaccount_Grid extends Enterprise_GiftCardAccount_Block_Adminhtml_Giftcardaccount_Grid { 

    protected function _prepareGrid() 
    { 
     $collection = $this->getCollection(); 

     $balanceTotal = 0; 
     foreach ($collection as $giftCardAccount) { 
      $balanceTotal += $giftCardAccount->getBalance(); 
     } 

     $this->setTotals(new Varien_Object(
      array(
       'balance' => $balanceTotal 
      ) 
     ); 

     $this->setCountTotals(true); 

     return parent::_prepareGrid(); 
    } 

} 

這應該做到這一點!

+0

謝謝你,男人,你救了我一次!我更正了一些語法錯誤,並且錯過了父方法調用。 – Kostanos 2013-07-11 22:54:21

+0

其實,只是供您參考,它的原始形式是正確的。很可能,'parent :: _ prepareGrid'正在返回'$ this'。我建議研究一下Magento中的網格組件。 – 2013-07-12 03:30:25

+0

問題是,$ this-> getCollection()是null,直到你調用parent :: _ prepareGrid(),至少在我的版本的magento 1.7 – Kostanos 2013-07-12 11:00:34

相關問題