我在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的路线吗?
答案 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 }}