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

Lia*_*sby 3 forms symfony twig

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

当我将表单传递给twig时,表单将使用以下方式呈现:

{{ form_row(form.price) }}
Run Code Online (Sandbox Code Playgroud)

这将呈现以下html:

£<input id="app_product_price" name="app_product[price]" required="required" class="form-control" value="9.95" type="text">
Run Code Online (Sandbox Code Playgroud)

我的目标是尝试获取货币符号,以便我可以使用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>
Run Code Online (Sandbox Code Playgroud)

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

{{ form_label(form.price) }}

{{ form_widget(form.price) }}
Run Code Online (Sandbox Code Playgroud)

这些似乎都无法获得货币,我也看了一下{{ form_widget(form.price.vars.currency) }}只显示错误的使用情况.

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

Aud*_*val 6

恕我直言,没有具体的方法来获取货币的符号(检查表格变量参考).货币的默认值为:type:string default:EUR(对应于ISO 4217代码).

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

$builder
->add('price', MoneyType::class, array('currency'=>''));
Run Code Online (Sandbox Code Playgroud)