Отключить форму symfony2

Я использую ту же форму для "предварительного просмотра" объекта, как и для "редактирования / обновления" того же объекта. В моем 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 в родительской форме, похоже, не связана с включенными подчиненными формами. Есть ли способ справиться с этим?

2 ответа

Решение

Пытаться:

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

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

// It is the way more fast to disabled a form
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->setDisabled(true);
}    
Другие вопросы по тегам