Modèle de magasin - Page Enregistrement
La page d'enregistrement du modèle de magasin permet aux clients de s'inscrire auprès du
modèle de magasin. Lorsque des clients s'inscrivent, ils doivent indiquer leurs prénom et nom,
fournir une adresse électronique et ensuite créer un mot de passe.
Lorsque des clients cliquent sur Enregistrement et achat , la page Enregistrement
ou connexion s'affiche. Les clients cliquent alors sur S'enregistrer et la page Enregistrement
(register.jsp) s'affiche.
Lorsque les clients veulent mettre à jour les informations relatives à leur inscription,
ils cliquent sur Modification des informations personnelles dans la page Mon compte. La page Modification des informations personnelles (edit_registration.jsp) s'affiche.
Instructions
register.jsp utilise les instructions suivantes :
- UserRegistrationAdd
- PrivacyView
Beans
register.jsp utilise les beans suivants :
edit_registration.jsp utilise les beans suivants :
- DemographicsAccessBean
- UserRegistrationDataBean
- ErrorDataBean
Détails d'implémentation
Remarque : Pour plus d'informations sur les
techniques d'implémentation communes à toutes les pages de modèle de magasin, parmi
lesquelles les informations multiculturelles, reportez-vous à la rubrique
Pages du modèle de magasin : techniques d'implémentation communes.
- Enregistrement
- Le lien S'enregistrer de la page Enregistrement ou connexion (account.jsp)
affiche le formulaire d'enregistrement. WebSphere Commerce utilise l'instruction UserRegistrationAdd pour
créer un nouvel enregistrement. Si le client est connecté, UserRegistrationAdd agit comme UserRegistrationUpdate. C'est-à-dire qu'un client connecté ne peut pas s'enregistrer une deuxième fois ni créer un nouveau compte. Comme le modèle de magasin permet à l'utilisateur de s'enregistrer plusieurs fois et de créer plusieurs comptes,
un client connecté doit d'abord se déconnecter avant de s'enregistrer de nouveau. A cet effet, le lien S'enregistrer est configuré automatiquement sur l'instruction de déconnexion
pour les clients connectés et sur la vue UserRegistrationForm pour les clients invités. L'instruction de déconnexion Logoff appelle automatiquement la tâche LogoffView. La tâche LogoffView
est enregistrée auprès de Logoff.jsp dans la base de données. Le fichier Logoff.jsp
vérifie le paramètre d'URL state. S'il a la valeur forgetpassword (mot de passe oublié),
le fichier forgetpassword.jsp se charge, sinon le fichier UserRegistrationForm.jsp
est chargé. La vue UserRegistrationForm est associée au fichier UserRegistrationForm.jsp
dans la table VIEWREG. Le fichier UserRegistrationForm.jsp
vérifie le paramètre "new" d'URL. S'il est défini sur Y, le nouveau formulaire
d'inscription s'affiche en incluant le fichier register.jsp. Dans le cas contraire, le formulaire
d'inscription mis à jour s'affiche et il inclut le fichier edit_registration.jsp.
register.jsp contient un nouveau formulaire d'enregistrement. Le nouveau formulaire
d'enregistrement est soumis à l'instruction UserRegistrationAdd. Par défaut, l'instruction
UserRegistrationAdd attend plusieurs zones obligatoires qui ne sont pas nécessaires
pour le modèle de magasin. De ce fait, ces zones sont configurées comme zones HTML cachées
et les valeurs sont définies comme "-", comme dans l'exemple suivant,
<INPUT TYPE="hidden" NAME="personTitle"
Value="-">
-
- Remarque : Dans le magasin NewFashion, la paire nom-valeur n'est
pas soumise. Si c'est le cas, l'instruction UserRegistrationAdd
ne vérifie pas le paramètre de l'URL.
Lorsque les clients s'enregistrent et remplissent leur profil, celui-ci peut correspondre
à un des profils de WebSphere Commerce Accelerator. Si le profil de WebSphere
Commerce Accelerator comporte une remise associée, les clients bénéficient de celle-ci.
- Adresse électronique comme connexion
- Les modèles de magasin nécessitent que les clients saisissent leur adresse électronique
lors de la connexion, mais WebSphere Commerce exige un ID utilisateur pour la connexion. De ce fait, le modèle de magasin demande aux clients de saisir leur adresse électronique dans le
formulaire d'enregistrement. Ensuite, avant l'envoi du formulaire, les zones adresse électronique
et ID utilisateur sont renseignées avec ce qui a été saisi dans la zone de texte de l'adresse
électronique, à l'aide du JavaScript suivant :
function prepareSubmit(form)
{
form.<%=ECUserConstants.EC_ADDR_EMAIL1%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
form.<%=ECUserConstants.EC_UREG_LOGONID%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
form.submit()
}
- Modifier mes informations personnelles
- En cliquant sur l'option Modifier mes informations personnelles,
l'instruction UserRegistrationForm associée, dans la base de données, au fichier
UserRegistrationForm.jsp est appelée.
Si le paramètre new n'est pas nul, il charge le fichier register.jsp.
Sinon, il charge le fichier edit_registration.jsp.
L'instruction UserRegistrationUpdate est utilisée dans le fichier edit_registration.jsp
pour mettre à jour les informations d'enregistrement de l'utilisateur. Si le client
ne fournit aucun mot de passe ni ne confirme son mot de passe, le système propose le
mot de passe d'enregistrement à l'aide du code suivant :
function prepareSubmit(form)
{
form.<%= ECUserConstants.EC_ADDR_EMAIL1
%>.value=form.<%=ECUserConstants.EC_UREG_LOGONID%>.value
form.<%=ECUserConstants.EC_UREG_LOGONID%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
if (form.<%=ECUserConstants.EC_UREG_LOGONPASSWORD%>.value.length == 0)
{
form.<%=ECUserConstants.EC_UREG_LOGONPASSWORD%>.value = '<%=strPassword%>'
}
if (form.<%=ECUserConstants.EC_UREG_LOGONPASSWORDVERIFY%>.value.length == 0)
{
form.<%=ECUserConstants.EC_UREG_LOGONPASSWORDVERIFY%>.value =
'<%=strPassword%>'
}
form.submit()
}
Si un client a saisi auparavant des informations de sexe et d'âge, les zones sexe et âge
sont pré-remplies. Le bean DemographicsAccessBean extrait les informations de sexe et d'âge de la base de données.
Traitement d'erreurs
En cas d'erreur quelconque, l'instruction UserRegistrationAdd appelle
UserRegistrationErrorView, enregistré vis à vis de UserRegistrationForm.jsp
dans la base de données. Toutefois, le même affichage d'erreurs est également appelé par
UserRegistrationUpdate. Pour différencier un nouveau formulaire d'enregistrement d'un formulaire
de modification, le premier contient un paramètre caché appelé new.
Si ce paramètre est présent, UserRegistrationForm.jsp inclut register.jsp.
Sinon, il charge le fichier edit_registration.jsp.
register.jsp est utilisé à la fois en situation normale et en cas d'erreur. ErrorDataBean et le contrôle d'erreur sont utilisés pour déterminer dans quelles conditions
register.jsp est exécuté. En cas d'erreur, register.jsp affiche le message d'erreur.
Remarque : Les erreurs de mot de passe sont interceptées au travers des
instructions UserRegistrationAdd et UserRegistrationUpdate, cependant, elles appellent
AuthenticationPolicyErrorView lorsqu'une erreur de mot de passe survient.