2013-05-21 42 views
0

我使用Yii Booster,其中一個小部件是TbTotalSumColumn。Yii Booster TbTotalSumColumn格式化爲貨幣

當它呈現在頁腳總,它使用以下代碼:

echo $this->totalValue? $this->evaluateExpression($this->totalValue, array('total'=>$this->total)) : $this->grid->getFormatter()->format($this->total, $this->type); 

我已經使用CFormatter和創建的「貨幣」類型,我已經在「值」屬性直接應用格式,我已經進入了小部件並在那裏應用貨幣格式化工具。看起來不管我做什麼,我只能得到列中的值被格式化爲貨幣或頁腳,而不是兩者。

任何幫助將不勝感激。

回答

3

我在名爲TbTotalColumnCurrency.php的組件文件夾中創建了一個新的類文件。然後我在我的TbExtendedGridView代碼中調用TbTotalSumColumnCurrency。

Yii::import('bootstrap.widgets.TbTotalSumColumn'); 

class TbTotalSumColumnCurrency extends TbTotalSumColumn 
{ 
    protected function renderFooterCellContent() 
    { 
     if(is_null($this->total)) 
      return parent::renderFooterCellContent(); 

     echo $this->totalValue? $this->evaluateExpression($this->totalValue, array('total'=>number_format($this->total), 2, '.', '')) : $this->grid->getFormatter()->format(number_format($this->total, 2, '.', ''), $this->type); 
    } 
} 

希望這有助於

array(
    'name'=>'Total', 
    'type'=>'text', 
    'value'=>'number_format($data->price*$data->quantity, 2, \'.\', \'\')', 
    'class'=>'TbTotalSumColumnCurrency' 
), 
+0

修正,我把我的組件文件夾的新文件。對不起:) –

+0

哈哈真棒,我自己來到這個相同的解決方案,並從來沒有看到你的答案。謝啦。 – deez

+0

不用擔心,只要看看你在哪裏使用TbTotalSumColumn,無論出於什麼原因,現在它的響應速度都不是很友好。它在移動設備上看起來很可怕。試圖找到一種方法來隱藏它時屏幕縮小,但沒有運氣。 –