Supprimer l'identifiant des comptes utilsateurs

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Supprimer l'identifiant des comptes utilsateurs

    Bonjour à tous,

    J'ai le souvenir d'avoir lu il y a quelques temps qu'il était possible de désactiver l'identifiant des comptes utilisateurs de Joomla. Mais je n'en trouve plus de trace nulle part.... Aurais-je rêvé ? (>
    Merci pour votre aide.
    Seb

  • #2
    Bonjour Seb,

    Pas sûr d'avoir compris votre demande, mais, j'essaie.

    J'ai eu ce type de demande : ne pas avoir d'identifiant, mais en générer un automatiquement (je prends l'id dans la table user). Donc, l'utilisateur se connecte avec un numéro et son mot de passe.

    Pour le faire, j'ai fait un override de com_users/registration et j'ai récupéré un code qui fait ce qu'il faut. J'avoue ne plus me souvenir d'où vient le code (Alzheimer quand tu nous tiens...). Le fichier default.php devient :

    Code PHP:
    <?php
    /**
     * @package     Joomla.Site
     * @subpackage  com_users
     *
     * @copyright   Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
     * @license     GNU General Public License version 2 or later; see LICENSE.txt
     */

    defined('_JEXEC') or die;

    JHtml::_('behavior.keepalive');
    JHtml::_('behavior.formvalidator');
    $doc JFactory::getDocument();
                    
    $db JFactory::getDbo();
                    
    $db->setQuery('SELECT max(id)  from #__users');
                    
    $id $db->loadResult();

    $js "
            jQuery(document).ready(function($){

                // Define the variables
                var regForm     = $('#member-registration');
                var name        = regForm.find('#jform_username');
                name.parents('.control-group').hide();
                // Add a default value to the name field
                name.val('"
    .($id+1)."');

            });    
        "
    ;    
    $doc->addScriptDeclaration($js);
    ?>
    <div class="registration<?php echo $this->pageclass_sfx?>">
        <?php if ($this->params->get('show_page_heading')) : ?>
            <div class="page-header">
                <h1><?php echo $this->escape($this->params->get('page_heading')); ?></h1>
            </div>
        <?php endif; ?>

        <form id="member-registration" action="<?php echo JRoute::_('index.php?option=com_users&task=registration.register'); ?>" method="post" class="form-validate form-horizontal well" enctype="multipart/form-data">
            <?php // Iterate through the form fieldsets and display each one. ?>
            <?php foreach ($this->form->getFieldsets() as $fieldset): ?>
                <?php $fields $this->form->getFieldset($fieldset->name);?>
                <?php if (count($fields)):?>
                    <fieldset>
                    <?php // If the fieldset has a label set, display it as the legend. ?>
                    <?php if (isset($fieldset->label)): ?>
                        <legend><?php echo JText::_($fieldset->label);?></legend>
                    <?php endif;?>
                    <?php // Iterate through the fields in the set and display them. ?>
                    <?php foreach ($fields as $field) : ?>
                        <?php // If the field is hidden, just display the input. ?>
                        <?php if ($field->hidden): ?>
                            <?php echo $field->input;?>
                        <?php else:?>
                            <div class="control-group">
                                <div class="control-label">
                                <?php echo $field->label?>
                                <?php if (!$field->required && $field->type != 'Spacer') : ?>
                                    <span class="optional"><?php echo JText::_('COM_USERS_OPTIONAL');?></span>
                                <?php endif; ?>
                                </div>
                                <div class="controls">
                                    <?php echo $field->input;?>
                                </div>
                            </div>
                        <?php endif;?>
                    <?php endforeach;?>
                    </fieldset>
                <?php endif;?>
            <?php endforeach;?>
            <div class="control-group">
                <div class="controls">
                    <button type="submit" class="btn btn-primary validate"><?php echo JText::_('JREGISTER');?></button>


                    <a class="btn" href="<?php echo JRoute::_('');?>" title="<?php echo JText::_('JCANCEL');?>"><?php echo JText::_('JCANCEL');?></a>


                    <input type="hidden" name="option" value="com_users" />
                    <input type="hidden" name="task" value="registration.register" />
                </div>
            </div>
            <?php echo JHtml::_('form.token');?>
        </form>
    </div>
    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Bonjour,

      S'il s'agit de permettre l'identification via l'adresse de messagerie, il doit exister des plugins pour ça (j'en avais utilisé au moins un pour test à une époque).
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Bonsoir,

        Merci pour vos réponses. Ce que je souhaite faire c'est permettre l'identification via l'adresse de messagerie. Je vais donc chercher du côté des plugins...

        Merci !

        Commentaire


        • #5
          Bonjour Seb,

          J'avais effectivement vu une discussion sur ce sujet, mais, je ne l'ai pas retrouvé pour l'instant.

          Sinon, j'avais trouvé une doc pour simplifier le formulaire d'enregistrement en supprimant un des 2 emails : https://www.joomlashack.com/blog/joo...m-in-joomla-3/

          En fusionnant cette doc et mon override, on doit pouvoir arriver à ce que vous demander.

          J'ai trouvé un plugin qui le fait aussi : https://extensions.joomla.org/extens...ication-email/

          Pascal
          sebg et woluweb aiment ceci.
          If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

          Commentaire


          • #6
            Salut,
            Envoyé par sebg Voir le message
            Bonsoir,

            Merci pour vos réponses. Ce que je souhaite faire c'est permettre l'identification via l'adresse de messagerie. Je vais donc chercher du côté des plugins...

            Merci !
            La première solution, ultra simple, consiste à mettre l'adresse e-mail dans le champs identifiant. (donc l'e-mail devient l'identifiant, tout simplement.).

            La deuxième, consiste à utiliser une extension qui permet de s'identifier avec l'adresse e-mail, comme par exemple easy-profile.
            Cliquez sur l'image pour l'afficher en taille normale

Nom : easy-profile-login-as.jpg 
Affichages : 65 
Taille : 9,5 Ko 
ID : 2010834

            Dol.
            Fichiers joints
            Dernière édition par dolmenhir à 13/12/2019, 13h48
            woluweb aime ceci.
            Je préfère éclairer que briller.” - “J'ai peut-être l'air froid, mais je suis pas givré.- "ça dépend ça dépasse"
            Ne m'envoyez pas de message privé pour résoudre vos problèmes sans y avoir été invité.
            Dolmenhir : tailleur de site web depuis 1997. Spécialiste Joomla depuis 2005. https://www.dolmenhir.fr

            Commentaire


            • #7
              La première solution, ultra simple, consiste à mettre l'adresse e-mail dans le champs identifiant. (donc l'e-mail devient l'identifiant, tout simplement.).
              la, il faut aussi modifier le type de champs... si tu ne verifies pas le champ, tu risque d'avoir des adresses mails du type toto.....

              Commentaire


              • #8
                Envoyé par lefabdu51 Voir le message
                la, il faut aussi modifier le type de champs... si tu ne verifies pas le champ, tu risque d'avoir des adresses mails du type toto.....
                Oui, cette méthode doit être utilisée uniquement s'il y a un/e contrôle/validation des inscriptions par des administrateur
                Je préfère éclairer que briller.” - “J'ai peut-être l'air froid, mais je suis pas givré.- "ça dépend ça dépasse"
                Ne m'envoyez pas de message privé pour résoudre vos problèmes sans y avoir été invité.
                Dolmenhir : tailleur de site web depuis 1997. Spécialiste Joomla depuis 2005. https://www.dolmenhir.fr

                Commentaire


                • #9
                  Envoyé par dolmenhir Voir le message
                  La première solution, ultra simple, consiste à mettre l'adresse e-mail dans le champs identifiant. (donc l'e-mail devient l'identifiant, tout simplement.).
                  Je vais suivre cette solution. Assez simple en effet, et ça m'évitera d'utiliser un plugin externe.

                  Merci à tous !

                  Commentaire


                  • #10
                    Bonjour,

                    En cherchant la même modification, j'ai tomber sur mes amis ! voilà j'ai installer le plugin indiqué par pmleconte et ça fonctionné mais je sais pas qu'est ce que je dois faire dans la page d'enregistrement ! dois-je supprimer le champ identifiant ou supprimer le champ email et remplacer le mot identifiant par Email ?

                    Commentaire


                    • #11
                      Mes amis que dois-je supprimer svp !

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X