Есть ли какое-либо решение для получения текущего URL в расширении формы в Symfony?
Я нашел эту ссылку , но она недостаточно ясна.
Например, у меня есть этот URL "someurl / customer / update / 1"
Так что мне нужно получить этот URL, или, по крайней мере, мне нужно получить customer_id = "1" в этом URL.
Спасибо за чтение, хорошего дня
РЕДАКТИРОВАТЬ 1:
Я пытаюсь использовать решение requestStack , и получил эту ошибку:
слишком мало аргументов для функции MyCode \ Bundle \ CustomerBundle \ Form \ Extension \ AdminCustomerUserUpdateTypeExtension :: __ construct (), 0 передано в / home / www / g2 / directo / var / cache / dev / ContainerXjfz6hz /getForm_ExtensionService.php в строке 1502 и ровно 1 ожидаемый
Вот мой код:
MyCode \ Bundle \ CustomerBundle \ Form \ Extension \ AdminCustomerUserUpdateTypeExtension
class AdminCustomerUserUpdateTypeExtension extends AbstractTypeExtension
{
protected $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
/**
* {@inheritDoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$request = $this->requestStack->getCurrentRequest();
var_dump($request); exit;
}
}
services.yml
directo.form.extension.admin_customer_user_update_extension:
class: Directo\Bundle\CustomerBundle\Form\Extension\AdminCustomerUserUpdateTypeExtension
tags:
- { name: form.type_extension, extended_type: 'Oro\Bundle\CustomerBundle\Form\Type\CustomerUserType' }
Я думаю, что необходимо использовать вызов некоторых аргументов в этом services.yml
Например:
directo.form.extension.admin_customer_user_update_extension:
class: Directo\Bundle\CustomerBundle\Form\Extension\AdminCustomerUserUpdateTypeExtension
arguments:
- '@oro_customer_user.manager'
tags:
- { name: form.type_extension, extended_type: 'Oro\Bundle\CustomerBundle\Form\Type\CustomerUserType' }
Могу ли я узнать, какие аргументы мне нужно импортировать?спасибо.