Création Compte Utilisateur Auto Incrémenté

1 1 1 1 1 Vote 0.00 (0 Votes)
 

Compat icon 3 x longLe but de cet article est de créer des codes utilisateurs numériques auto-incrémentés sous Joomla! version 3.6.

Attention: si user id est inférieur à 10, Joomla! risque de bloquer car il attend au moins 2 caractères dans le code utilisateur.

Remarque: Joomla! crée des ID autoincrémentés à chaque nouvel utilisateur (Autocrément de la zone id dans la table #__users).

override de default.php

En cherchant un peu sur le web, on peut trouver des discussions sur "comment faire disparaître des zones d'un formulaire".

Donc, on copie le fichier components\com_users\views\registration\tmpl\default.php dans le répertoire templates/<votre template>/html/com_users/registration.

Ensuite, on ajoute dans le fichier default.php les lignes suivantes, juste après la ligne JHtml::_('behavior.formvalidator');

// récupération du dernier numero connu
$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);

Avec cette méthode, la zone de saisie du code utilisateur disparaît, elle est remplie automatiquement avec le dernier Id connu de la table #_user, auquel on ajoute 1, naturellement.