J'essaie de renseigner plusieurs données sélectionnées sur le formulaire de gestion des utilisateurs situé sous le champ du nom de l'utilisateur.
Voici ce que j'ai ajouté à l'intérieur du formulaire, afin d'afficher plusieurs données sélectionnées de db.
Fichier:
myweb\components\com_users\models\forms\user.xml
<field
name="groupMember"
type="list"
description="choose cybertechnos groups"
label="Choose Groups"
multiple ="true"
required="true"
size="111"
>
<option value ="A">A</option>
<option value ="B">B</option>
<option value ="C">C</option>
</field>
Afin de peupler et de convertir une valeur basée sur la virgule en chaîne dans un tableau, j'ai ajouté le code suivant:
myweb\libraries\joomla\table\user.php
juste après le chargement des données par requête dans $data
variable dans la fonction de chargement.
$ data ["groupMember"] = exploser (',', $ data ["groupMember"]);
Mais lorsque je vérifie mon formulaire dans le panneau de gestion des utilisateurs, je constate deux problèmes.
1) Il affiche la liste avec le style de balise plutôt que la liste déroulante sélectionnée comme ci-dessous.
2) Il n’affiche pas les valeurs sélectionnées appropriées qui proviennent de la base de données.
Il s’agit du style incorrect indiqué dans la liste de gestion des utilisateurs, "Choisir un groupe"
J'ai besoin du style ci-dessous de "Groupes" dans la liste de gestion des utilisateurs
Vous le faites complètement faux. N'apportez jamais de modifications fondamentales aux fichiers/classes car il y a de grandes chances que vous perdiez tout lors de la prochaine mise à jour du CMS.
Utilisez plutôt plugins . C'est le meilleur moyen d'étendre les fonctionnalités de base. Ce dont vous avez besoin ici est un simple plugin de profil. Lire le tutoriel Création d'un plugin de profil .
Et si vous utilisez un champ list
standard avec un attribut multiple
, il affichera toujours les options dans le style de la balise (pas sûr à 100%).
Quoi qu'il en soit, vous pouvez créer type de champ de formulaire personnalisé pour répondre à vos exigences.