BreezingForms, masquer des champs aux utilisateurs enregistrés

Puis-je masquer des champs ou sections à un utilisateur connecté et inversement ?

Niveau : Moyen
Version BF minimale requise : BreezingForms Lite
Compatibilité Joomla! 4/5 :

Si vous le désirez et puisque, lorsque l'utilisateur est connecté, certains champs peuvent ne pas être nécessairement affichés (si on les a p. ex. préremplis à l'aide d'un tutoriel précédent), on peut alors les masquer. Ils ne seront pas visibles, mais seront bien transmis à l'administrateur du site.

Préparez votre formulaire de test comme suit :

  1. Une page, deux éléments :
    1. Élément 1 = Nom, nommé nom
    2. Élément 2 = E-Mail, nommé email
  2. Cliquez sur l'entête du formulaire en mode d'édition, cliquez sur "Avancé" puis "Plus d'options".
  3. Dans l'onglet "Scripts", section Scripts d'initialisation, entrez le code suivant et enregistrez :
function ff_Nom_du_formulaire_init() //nom_du_formulaire à remplacer par le nom de votre formulaire
{
     <?php
     if( JFactory::getUser()->get('id',0) > 0 )
     {
          echo
          "
          function mytoggler()
          {
               bfToggleFields('off', 'element', 'nom', bfDeactivateField);
               bfToggleFields('off', 'element', 'email', bfDeactivateField);
          }";
     }
     else
     {
          echo
          "
          function mytoggler()
          {
               bfToggleFields('on', 'element', 'nom', bfDeactivateField);
               bfToggleFields('on', 'element', 'email', bfDeactivateField);
          }";
     }
     ?>
} // ff_FORMNAME_init

La syntaxe serait bfToggleFields('off', 'section', 'nom_de_section', bfDeactivateField); si vous vouliez masquer une section. Vous remplacerez bien sûr "nom_de_section" par le nom réel de votre section.

Rendez-vous ensuite dans l'onglet "Pièces de formulaire" et dans la partie 'Après le formulaire", saisissez le code suivant puis enregistrez :

return '
<script type="text/javascript">JQuery(document).ready(function()
     {
          mytoggler();
     });</script>
';

Il faut ensuite initialiser la librairie JS. Sortez de l'édition des options avancées et alors que l'entête de formulaire est active, cliquez "Avancé". Au bas de page, dans la section "Règles de visibilité", ajouter ceci : turn on element mydummy if yourdummy is something

Testez le formulaire ci-dessous !

Connectez-vous pour voir la différence…

[icons-info-circle]Ce formulaire n'étant pas muni de bouton de soumission, il ne traite et n'enregistre aucune donnée personnelle, il n'est présenté qu'à titre d'information et de test.

Si vous voyez les champs "Nom" et "E-mail", c'est que vous n'êtes pas connectés. Connectez-vous pour voir le résultat du masquage de ces champs.

Il vous reste, selon votre besoin, à mettre ces fonctions à l'œuvre dans vos formulaires et les personnaliser à votre souhait.

Cet exemple peut parfaitement être combiné aux champs préremplis expliqués dans cet article

Pas encore de commentaires.

Connectez-vous pour poster un commentaire

Afin d'éviter les messages indésirables, les commentaires sont réservés aux membres inscrits. Veuillez vous inscrire ou vous connecter pour publier votre commentaire

FAIRE UN DON

paypal btn

Via PayPal

PLUGIN UP DE LOMART

Universal Plugin : UP

De très nombreuses actions pour vos articles en un unique plugin.
up lomart