Symfony2形式:货币货币符号和显示在树枝

时间:2015-07-08 12:31:19

标签: forms symfony twig

我在Symfony中有一个表单,它使用货币字段类型,货币设置为GBP。

当我将表单传递给twig时,表单将使用:

呈现
{{ form_row(form.price) }}

这将呈现以下html:

£<input id="app_product_price" name="app_product[price]" required="required" class="form-control" value="9.95" type="text">

我的目标是尝试获取货币符号,以便我可以使用bootstrap money field:

<form class="form-inline">
  <div class="form-group">
    <label class="sr-only" for="exampleInputAmount">Amount (in dollars)</label>
    <div class="input-group">
      <div class="input-group-addon">$</div>
      <input type="text" class="form-control" id="exampleInputAmount" placeholder="Amount">
      <div class="input-group-addon">.00</div>
    </div>
  </div>
  <button type="submit" class="btn btn-primary">Transfer cash</button>
</form>

显然,我需要做一些造型。但是,我试图使用下面的货币符号,但似乎没有任何文件可以看到我这样做。

{{ form_label(form.price) }}

{{ form_widget(form.price) }}

这些似乎都无法获得货币,而且我也考虑过使用只显示错误的{{ form_widget(form.price.vars.currency) }}

是否有任何已知的方法从表单字段中提取货币符号?或者我需要走Twig Form Theming的路线吗?

2 个答案:

答案 0 :(得分:6)

恕我直言,没有具体的方法来获取货币的符号(check the Form Variables Reference)。货币的默认值为:type:string default:EUR(对应ISO 4217 code)。

因此,您只需将货币设置为空,并且不会呈现任何符号:

$builder
->add('price', MoneyType::class, array('currency'=>''));

答案 1 :(得分:0)

您可以使用此树枝常规表达式显示货币符号:

{{ form.price.vars.money_pattern | replace({ '{{ widget }}':''}) | raw }}
相关问题