Easy Admin - Показать полное название страны в Show Action - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть объект Address, для которого требуется страна.В связанной форме я использую CountryType Symfony, который отображает удобный для выбора страны и сохраняет его сокращение в сущности (например, DE для Германии или CH для Швейцарии).

Для отображения адреса страны впоказать действие панели администратора, я использую следующую строку в easy_admin.yaml:

- { property: country, label: 'address.entity.country' }

Проблема:

Это отображает только сокращение, а нефактическое название страны.Как я могу это изменить?

Страна в адресе объекта:

/**
 * @ORM\Column(type="string", length=255)
 */
private $country;

1 Ответ

0 голосов
/ 27 сентября 2018

Я думаю, что лучшим решением было бы использование встроенного компонента Symfony int * .

composer require symfony/intl для установки компонента.

Тогда в вашей сущности вы можете use Symfony\Component\Intl\Intl;.

Я предлагаю создать в вашей сущности новое свойство с именем countryName, где метод установки этого свойства вызывается всякий раз, когда вы устанавливаете код страны.Ваш сеттер может выглядеть примерно так:

public function setCountryName (string $countryCode) 
{
    $this->countryName = Intl::getRegionBundle()->getCountryName(strtoupper($countryCode));
}

Затем в вашем yaml файле измените address.entity.country на address.entity.countryName.

...