web-dev-qa-db-fra.com

Showon fonctionne sur le plugin backend mais pas sur le frontend

Je change de plug-in de profil d'utilisateur dans Joomla 3.3, en utilisant la méthode décrite dans le http://www.inmotionhosting.com/support/edu/joomla-25/user-profile tutoriel. Tout fonctionne et ok.

Mais je veux faire quelques changements dans le profil. Ce plug-in de profil contient deux fichiers xml, un pour l'administrateur contrôlant ce qui apparaîtra dans les formulaires d'enregistrement et de modification de profil, et le second pour le formulaire d'enregistrement (modification de profil) lui-même.

la fonction showon fonctionne bien dans le premier fichier XML, mais ne fait rien dans le second fichier.

Des idées sur la raison et la solution?


@Lodder. Je souhaite ajouter des champs au profil de l'utilisateur, en fonction de la valeur de champ précédente. par exemple, si l'utilisateur est enseignant, le champ du cours est affiché; si c'est un élève, la classe no. champ. Donc, dans le plugin Profile5, j'ai changé deux fichiers. le premier "./plugins/user/profile5/profile5.xml", chargé de l’administration de ce plugin. Dans ce fichier, j'ai ajouté les lignes suivantes dans lesquelles showon fonctionne comme prévu.

<extension ....>
<name>...</name>
....
...
<config>
<fields name = "params">
<fieldset name = "basic" >
<field> ... </field>
<field> ... </field>
<field> ... </field>
.....

            ***<field name="register-require_dpost" type="list"
                    description="If you are a student or teacher, enter it here."
                    label="Your post student or teacher"
            >
                    <option value="2">JOPTION_REQUIRED</option>
                    <option value="1">JOPTION_OPTIONAL</option>
                    <option value="0">JDISABLED</option>
            </field>

            <field name="register-require_dclass" type="list"
                    description="If you are a student, enter your class here."
                    label="Your class"
                    showon="register-require_dpost:1,2"
            >
                    <option value="2">JOPTION_REQUIRED</option>
                    <option value="1">JOPTION_OPTIONAL</option>
                    <option value="0">JDISABLED</option>
            </field>***
....
....

Le deuxième fichier que j'ai édité est "./plugins/user/profile5/profiles/profile.xml". J'ai également ajouté deux champs dans lesquels le second devrait augmenter conditionnellement, mais il ne fait pas ce qui est attendu.

<form>
<fields..>
<fieldset...>
<field.../> 
<field.../> 
<field.../> 
....

        ***<field
                name="dpost"
                type="radio"
                id="dpost"
                description="Enter your post here"
                filter="string"
                label="Your post"
                message="PLG_USER_PROFILE_FIELD_WEB_SITE_MESSAGE"
                size="30">
                <option value="1">Teacher</option>
                <option value="2">Student</option>

        </field>
        <field 
            name="dclass"
            type="list"
            showon="dpost:1"
            >
                <option value="501">501</option>
                <option value="502">502</option>
                <option value="503">503</option>
                <option value="504">504</option>
                <option value="505">505</option>

            </field>***

Le problème concerne donc les performances de showon dans un fichier XML. Y a-t-il quelque chose dans le backend qui n'est pas présent dans le frontend? Ou peut-être que je fais quelque chose de mal.

1
Hamlet Kraskian

Comme répondu par équipe Joomla Dév sur Github , showon ne fonctionne pas sur les fichiers XML liés au profil de l'utilisateur, car ils n'utilisent pas de formulaire JForm standard.

Autant que je sache, il semble que showon ne fonctionne pas du tout sur front-end.

2
Emilien