Personnaliser le rendu du champ de formulaire
Je voudrais personnaliser le rendu d'un champ de formulaire dans la page d'édition de sonata admin bundle d'inclure une applet qui utilise le contenu du texte d'un champ.
Je sais que je dois modifier le configureFormFields
fonction dans l'admin de la classe, mais j'ai besoin de savoir 3 choses:
- Quelle est la syntaxe de fournir un champ de modèle de formulaire
- Où mettre le fichier de modèle ( répertoire )
- Ce que le modèle de ressemble.
source d'informationauteur user1254498
Vous devez vous connecter pour publier un commentaire.
Trouvé une solution
Ce que j'ai fait est la suivante:
Créé un type de champ, permet de l'appeler myfieldType dans myCompany\myBundle\Form\Type\myfieldType.php
Enregistré le Type dans app/config/services.yml
Dans mon myentityAdmin classe,
et
et le modèle :
Et maintenant, je peux accéder au champ de formulaire, la valeur par brindille à la variable "valeur" !
Si facile... quand vous l'avez obtenu.
user1254498 la solution ne fonctionnera pas à moins que le bloc de préfixe de nom correspond au nom du type de formulaire. Au moins avec la dernière version de la sonate admin bundle (2.2.12). Dans ce cas:
Et, concernant
getFormTheme()
vous devriez retourner également le thème parent, sinon vous risquez de casser le style de l'ensemble de...Aussi, vous pouvez accéder à l'admin de service dans le template twig avec la variable
sonata_admin.admim
.Dans vos services.fichier yml vous définissez le modèle de votre Action edit:
Dans ce modèle, vous pouvez ensuite remplacer les modèles de champs de votre formulaire:
Alors mon modèle ressemble à ça:
Dans ce cas, mon pays cases à cocher s'affichent dans la colonne de 60 éléments, pas dans une colonne avec l'ensemble de la liste des éléments.
Espérant que cela sera utile à quelqu'un d'autre.