0
如何擴展zend表單元素以創建自定義貨幣字段。用於自定義貨幣的Zend表單元素
例如:
$amount = new Example_Form_Element_Currency(1234);
的放出來應該是這樣的:$1,234.00
。
我想爲貨幣定製助手。
如何擴展zend表單元素以創建自定義貨幣字段。用於自定義貨幣的Zend表單元素
例如:
$amount = new Example_Form_Element_Currency(1234);
的放出來應該是這樣的:$1,234.00
。
我想爲貨幣定製助手。
聽起來就像你想申請filter。
我不認爲有內置的貨幣過濾器,但創建一個運行number_format()
或類似的提交值並不困難。
class My_Filter_Currency implements Zend_Filter_Interface
{
public function filter($value)
{
return '$' . number_format($value, 2);
}
}
此刻我也在使用這樣的過濾器,但是當將值返回給控制器時,我的函數看起來很髒。我在這裏尋找更好的解決方案。
->addFilter(
'Callback',
array('callback' => function($value)
{
$value = str_replace(',', '.', $value);
if(is_numeric($value)){
return number_format(
doubleval($value),
2,
',',
'.'
);
}else{
return $value;
}
})
)
......
public function getAmount()
{
return doubleval( str_replace(',', '.', str_replace('.', '', $this->_value1->getValue())));
}
如果你到這裏看看我的問題來與國際化。
什麼類型的元素?你有沒有試過擴展標準文本元素?有什麼問題? – Niklas 2011-06-10 16:12:22