CakePHP 2.x NumberヘルパーでaddFormatを書く場所
お金を扱うアプリ作ってると、通貨記号なんかがでてきます。
これですね。
CakePHPのNumberHelperが助けてくれます。
1
echo $this->Number->currency(数字, '通貨コード');
こんな感じ。
でもデフォルトで助けてくれるのは、この3通過だけ。
EUR €
GBP £
USD $
これにJPY...¥とか足す場合は自分でやらねばなりません。
Viewファイルで
1
$this->Number->addFormat('JPY', array('before' => '¥ '));
とかする。だけど全部のビューファイルでそんなことするの面倒だから、
一回で済ましたいときは、AppController.phpに書きます。
でもコントローラでは$this->Number->addFormatは使えないので、
このように。
1
2
3
4
5
6
public function beforeRender() {
// called as CakeNumber
App::uses('CakeNumber', 'Utility');
CakeNumber::addFormat('JPY', array('before' => '¥', 'places' => 0));
CakeNumber::addFormat('AUD', array('before' => '$', 'places' => 2));
}
'places'は、小数点以下の数。