Dans mon projet, j'ai deux entités. Postez et commentez.Définition d'un champ à l'entité dans le formulaire Symfony
entité Comment
a des champs suivants
- Nom
- un message
- poste
Je forme le rendu de commentaires juste après après. Actuellement, sous forme de commentaire, je reçois un menu déroulant à partir de laquelle je peux sélectionner un poste. Je ne fais pas ça. Je veux définir le champ de poste à une valeur par défaut qui est la même que la publication rendue ci-dessus. Et ça ne devrait pas être changeable.
Comment puis-je obtenir ce comportement?
MISE À JOUR
Je code suivant dans mon contrôleur $ commentaire = new Commentaire();
$comment -> setPost($entity);
$commentForm = $this -> createCommentForm($comment);
return array(
'entity' => $entity,
'delete_form' => $deleteForm->createView(),
'comment_form' => $commentForm->createView()
);
Dans ce code, je définis la valeur de la valeur, qui est la valeur par défaut de la forme, mais elle est modifiable.
Je crée la forme en utilisant le code suivant:
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')
;
}
Comment est-il réellement modifiable? Je ne vois pas un champ dans votre formulaire de commentaire qui gère cette liste déroulante pour la publication. Dans ce cas, vous ne devriez voir aucune liste déroulante dans le formulaire de commentaire, ce qui signifie que vous ne pouvez pas le modifier. –
@ MichalTakáč. Oh pardon. J'avais un champ là-bas. Juste enlevé cela à des fins expérimentales. S'il vous plait verifiez maintenant. – niyasc
Donc, tout ce dont vous avez besoin est d'enlever ce champ je suppose et vous devriez aller bien non?vous ne serez pas en mesure de changer le poste dans le formulaire de commentaire et vous aurez votre message mis au commentaire, non? :) –