Вы можете установить собственный шаблон для вашего элемента, а затем получить к нему доступ к своему объекту.
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 -%}
В этом примере я использую localizedcurrency
из Twig IntlРасширение
Если вы используете SonataIntlBundle , ваш шаблон может расширяться show_currency.html.twig , и, возможно, вы сможете переопределить currency
опция поля.
Надеюсь, это поможет