如何使用来自数据的货币字符串在列表中添加货币字段?
How can I add a currency field in list with currency string coming from data?
(在列表视图中添加currency
字段非常简单
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('price', 'currency', [
'currency' => 'EUR',
'locale' => 'fr',
])
;
}
但是,如果我的货币字符串(欧元、美元、...)来自数据本身(也不像片段中的那样,而是来自数据库 table 的字段)怎么办?
我能以某种方式注入 currency
字符串吗?
您可以为您的项目设置自定义模板,然后将您的对象访问到其中。
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('price', 'currency', [
'currency' => 'EUR',
'locale' => 'fr',
'template' => '@AdminTemplates/sonata/show_currency.html.twig',
])
;
}
{# @AdminTemplates/sonata/show_currency.html.twig #}
{% extends '@SonataAdmin/CRUD/base_show_field.html.twig' %}
{%- block field -%}
{% spaceless %}
{%- if value is null -%}
{%- else -%}
{{ value|localizedcurrency(object.currencyField) }}
{%- endif -%}
{% endspaceless %}
{%- endblock field -%}
在此示例中,我使用 Twig Intl Extension
中的 localizedcurrency
如果您正在使用 SonataIntlBundle, your template can extends show_currency.html.twig,也许您可以覆盖 currency
字段选项。
希望对您有所帮助
(在列表视图中添加currency
字段非常简单
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('price', 'currency', [
'currency' => 'EUR',
'locale' => 'fr',
])
;
}
但是,如果我的货币字符串(欧元、美元、...)来自数据本身(也不像片段中的那样,而是来自数据库 table 的字段)怎么办?
我能以某种方式注入 currency
字符串吗?
您可以为您的项目设置自定义模板,然后将您的对象访问到其中。
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->add('price', 'currency', [
'currency' => 'EUR',
'locale' => 'fr',
'template' => '@AdminTemplates/sonata/show_currency.html.twig',
])
;
}
{# @AdminTemplates/sonata/show_currency.html.twig #}
{% extends '@SonataAdmin/CRUD/base_show_field.html.twig' %}
{%- block field -%}
{% spaceless %}
{%- if value is null -%}
{%- else -%}
{{ value|localizedcurrency(object.currencyField) }}
{%- endif -%}
{% endspaceless %}
{%- endblock field -%}
在此示例中,我使用 Twig Intl Extension
中的localizedcurrency
如果您正在使用 SonataIntlBundle, your template can extends show_currency.html.twig,也许您可以覆盖 currency
字段选项。
希望对您有所帮助