ググらずには前へ進めないフロントエンドエンジニアが書く、次はググらなくてもできますように…とメモを残すブログです!

EC-CUBE 3系「|price」などの装飾子のカスタマイズ方法

2018/04/20
⚠️投稿日または最終更新日から5年以上経過している内容です。

今回は 3.0.16 で確認しています。

{{ Product.getPrice02IncTaxMin|price }}{{ Product.getPrice02IncTaxMax|price }}

などなど、twig や smarty などには便利な装飾子がありますが、 EC-CUBE3 の場合、 |price というのを独自に追加しているので、 それを付けるだけで、 number_format された値と、¥マークが付与された金額を表示することができます。

そこで半角なのを全角にしてみたいと思い、ソースコードを追ってみたところ、 まとめて管理してあるファイルを見つけたので下記のように編集するとうまくいきました。

php
/src/Eccube/Twig/Extension/EccubeExtension.php

<?php
/**
 * Name of this extension
 *
 * @return string
 */
public function getPriceFilter($number, $decimals = 0, $decPoint = '.', $thousandsSep = ',')
{
    $price = number_format($number, $decimals, $decPoint, $thousandsSep);

    // ↓↓↓書き換え \\マークを全角に
    // $price = '¥ '.$price;
    $price = '¥'.$price;
    // ↑↑↑書き換え \\マークを全角に

    return $price;
}