Подтвердить что ты не робот

Симфония2 отключена

Я использую ту же форму для "предварительного просмотра" объекта, поскольку я хочу "отредактировать/обновить" один и тот же объект. В моем showAction() для контроллера у меня есть следующий код:

$form = $this->createForm(new SalesEntityType($entity), $entity, array('read_only' => true) );

Этот код отлично подходит для первичной формы, но существует ряд подформ, которые входят в него путем включения. Одним из примеров в show.html.twig является:

{% include 'TargetCommonBundle:Hours:hoursForm.html.twig' with { form: hours } %}

К сожалению, параметр read_only в родительской форме не каскадируется к включенным подформам. Есть ли способ справиться с этим?

4b9b3361

Ответ 1

Попробуйте:

$form = $this->createForm(
    new SalesEntityType($entity),
    $entity,
    [ 'disabled' => true ]
);

См.: vendor/symfony/symfony/src/Symfony/Component/Form/CHANGELOG.md, первая строка

Ответ 2

// It is the way more fast to disabled a form
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->setDisabled(true);
}