web-dev-qa-db-fra.com

Remplissez les données de sélection multiple dans le champ de liste personnalisé du formulaire dans la gestion des utilisateurs

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" enter image description here

J'ai besoin du style ci-dessous de "Groupes" dans la liste de gestion des utilisateurs enter image description here

3
wolvorinePk

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.

4
Dmitry Rekun