В моем проекте у меня есть два объекта. Сообщение и комментарий.Настройка поля для объекта в форме Symfony
Comment
объект имеет следующие поля
- имя
- сообщения
- сообщений
Я рендеринг комментарий формы только после того, как поста. В настоящее время в форме комментариев я получаю раскрывающееся меню, из которого я могу выбрать сообщение. Я этого не делаю. Я хочу установить поле post для значения по умолчанию, которое совпадает с сообщением выше. И это не должно меняться.
Как я могу достичь такого поведения?
UPDATE
У меня следующий код в моем контроллер $ комментарий = новый комментарий();
$comment -> setPost($entity);
$commentForm = $this -> createCommentForm($comment);
return array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
'comment_form' => $commentForm->createView()
);
В этом коде я устанавливаю пост значение, которое приходит в качестве значения по умолчанию в форме, но она изменчива.
Я создаю форму, используя следующий код:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name')
->add('reference')
->add('post','entity', array(
'class' => 'OpenSourceFeedBundle:Post',
'required' => TRUE
))
->add('date', 'date', array(
'html5' => TRUE,
'widget' => 'single_text',
'read_only' => TRUE
))
->add('message')
;
}
Как это возможно? Я не вижу поле в форме комментария, которое обрабатывает это раскрывающееся меню для публикации. Поэтому в этом случае вы не должны видеть раскрывающийся список в форме комментариев, а это значит, что вы не можете его изменить. –
@ MichalTakáč. Ой, извини. У меня там было поле. Просто удалил это для экспериментальной цели. Пожалуйста, проверьте сейчас. – niyasc
Итак, все, что вам нужно, это удалить это поле, я думаю, и вы должны быть в порядке?вы не сможете изменить сообщение в форме комментария, и у вас будет сообщение, указанное в комментарии, не так ли? :) –