J'ai utilisé le module "Field Group" et créé des groupes en backend. Maintenant, je veux ajouter par programme un champ au groupe. Comment puis je faire ça.
J'utilise Hook_form_alter, j'ai remarqué que chaque champ a un attribut «und» dans lequel le groupe de champs auquel il appartient est répertorié, mais si un tableau create et «und» et lui ajoute un nom de groupe de champs, cela ne fonctionne pas .
Comment dois-je procéder?
Réponses:
C'est un peu vieux, mais je voulais faire la même chose et je n'ai pas trouvé de réponse sur le web. J'ai fini par le découvrir par moi-même.
Supposons que vous ayez créé un groupe de champs via l'interface CMS avec le nom "group_product_fields". Vous avez ajouté des champs à ce groupe.
Vous avez maintenant un nouveau champ inclus dans le formulaire par programmation via hook_form_alter. Vous souhaitez ajouter ce champ à "group_product_fields". Voici un exemple de ce que pourrait être le champ:
Il ne vous reste plus qu'à ajouter ce nouveau champ au groupe de champs. Pour ce faire, ajoutez la ligne ci-dessous à hook_form_alter. Il peut être placé n'importe où à l'intérieur.
C'est tout. Vous souhaiterez peut-être ajuster le poids du champ pour qu'il soit positionné comme vous le souhaitez. Mais au final, c'est vraiment simple. :)
la source
Citation après l' ajout par programme de champs à un groupe de champs :
la source
'mode' => 'form'
ou'mode' => 'default'
au lieu de'mode' => 'full'
, ou tout simplement omettremode
du tout. Any view_mode_name, thanks @Maiq FashJe ne sais pas comment cela a fonctionné pour vous. Parce que le nom de clé du tableau doit correspondre au nom du champ de la base de données. Et ils sont:
Je dois utiliser le format suivant pour le faire fonctionner. faites-moi savoir si je fais quelque chose de stupide ici.
la source
Jetez un œil à hook_field_group_build_pre_render_alter ().
Cela vous offre la possibilité de modifier la structure de vos groupes par programme.
Par exemple, déplacez le champ "example_field" dans le groupe "group_example" de l'élément de formulaire racine:
la source
Tout d'abord, trouvez le nom de votre machine de groupe de champs dans le panneau CMS puis dans votre formulaire alter do
pour un instant, j'ai ajouté un mail de terrain personnalisé dans le
User form field group
groupe de champs:la source