symfony2: définition de la valeur d'un champ de formulaire en dehors du formulaire, à l'intérieur d'une action du contrôleur
J'ai besoin de définir la valeur d'un formulaire symfony2 élément.
J'utilise un doctrine2 entité, un Symfony\Component\Form\AbstractType et la createForm() la méthode à l'intérieur de mon Contrôleurs de l'Action.
$saleDataForm = $this->createForm(new SaleType(), $sale);
Maintenant, comment puis-je obtenir un élément de cette forme, et comment puis-je définir sa valeur?
Je veux faire quelque chose comme ça, mais il ne fonctionne pas:
$saleDataForm->get('image')->setValue('someimapge.jpg');
FYI: j'ai besoin de faire cela pour rendre le champ correctement (en utilisant cette approchemon image champ est toujours vide et j'ai besoin de définir le contenu de imagePath de présenter un aperçu d'une image téléchargée)
source d'informationauteur Andresch Serj
Vous devez vous connecter pour publier un commentaire.
Pour une réponse exacte, vous devez inclure les entités que vous utilisez dans ce formulaire afin que nous puissions voir les getters et setters. Mais en fonction de votre question, cela devrait fonctionner:
À l'intérieur du contrôleur ce faire:
C'est si le formulaire est déjà créé afin de:
Pour obtenir les données d'utilisation de ce:
grâce MatsRietdijk, vous m'avez aidé, mais j'ai dû changer de code pour cette
Si vous essayez de remplir le fichier de téléchargement de terrain - c'est une mauvaise idée. Demandez-vous: quelles données doivent y être? Si un utilisateur upload une image, puis, dans ce domaine sera un chemin vers l'image sur son système local. Mais alors après le fichier téléchargé, vous modifiez son nom et son emplacement, de sorte que vous n'avez pas besoin d'info sur ce chemin, et vous n'avez tout simplement pas le garder.
Le moyen le plus approprié doit être laissé vide champ de téléchargement ci-dessous (ou au-dessus, ou partout où vous en avez 😉 ) de l'image. Puis, après le formulaire est soumis et si le champ n'est pas vide, vous devriez changer image éditée.