Créer un formulaire avancé avec MailformPlus (suite)
4. Analyse détaillée du template MailformPlus
Voici le fichier complet utilisé par l'extension MailformPlus. On le trouve habituellement dans le répertoire pi1 de l'extension.
contient le formulaire composé des marqueurs obligatoires
permettant de recueillir l'intégralité des données envoyées depuis le frontend.
permet d'afficher un message récapitulatif des champs saisis pour une éventuelle impression.
Mail récapitulatif au format texte envoyé à l'internaute
Idem mais au format HTML
Mail récapitulatif au format texte envoyé à l'administrateur du site
Idem mais au format HTML
Affichage des erreurs en frontend
5. Configuration typoscript
La configuration en Typoscript (partie setup) est détaillée dans le code. Vous devez impérativement indiquer pour chaque champ obligatoire un message d'erreur ainsi
que le type d'erreur à détecter. Si le champ est obligatoire, le paramètre errorCheck sera égal à required. Si vous souhaitez effectuer des tests sur la valeur reçue depuis le formulaire, vous devrez éventuellement utiliser du Typoscript ou bien le genre de fonction PHP utilisée ci-dessous pour vérifier par exemple le code postal. Attention car la vérification d'un champ ne rend plus le champ obligatoire, d'où le test sur la valeur 'postcode' au début du gabarit.
#
# Configuration MailformPlus
#
// si aucune saisie de CP, alors, on le rend obligatoire...
// car errorCheck ne rend plus le champ obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.postcode.errorCheck = required
// Par défaut, le CP doit comporter 5 chiffres
[globalVar = GP:postcode > 1]
plugin.tx_thmailformplus_pi1.fieldConf.postcode.errorCheck = ereg:^[0-9]{5}$
[end]
plugin.tx_thmailformplus_pi1.default {
email_htmltemplate = ../../fileadmin/templates/tj/test/mailformplus-tmpl/mailformplus.html
email_sender = webmaster@typo3journal.info
// Sujet mail admin
email_subject = TEXT
email_subject.value = {page:title}
email_subject.insertData = 1
// Sujet du mail de l'utilisateur
email_subject_user = TEXT
email_subject_user.value = Inscription au {page:title}
email_subject_user.insertData = 1
email_replyto = webmaster@typo3journal.info
email_sendtouser = email
}
plugin.tx_thmailformplus_pi1.saveDB = 0
#Sexe obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.sexe {
errorCheck = required
errorText = <li>Indiquez votre civilité</li>
}
#Nom obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.name {
errorCheck = required
errorText = <li>Vous devez saisir un nom</li>
}
#Adresse obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.address {
errorCheck = required
errorText = <li>Une adresse est requise</li>
}
#CP obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.postcode {
errorText = <li>Code postal non valide</li>
}
#Ville obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.city {
errorCheck = required
errorText = <li>Une ville est requise</li>
}
#Email obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.email {
errorCheck = email,required
errorText = <li>Email invalide</li>
}
#Message obligatoire
plugin.tx_thmailformplus_pi1.fieldConf.message {
errorCheck = required
errorText = <li>Indiquez un message</li>
}
Les derniers articles à consulter :
Afficher une page 404
Comment créér une page non trouvée (404) sous TYPO3
TYPO3 et le e-Commerce (1ère partie)
Quelle extension utiliser pour faire du e-Commerce avec TYPO3 ?
Felogin, la newloginbox intégrée (TYPO3 v 4.2)
Felogin remplace l'extension newloginbox et offre la possibilité d'offrir une boite de connexion pour protéger l'accès à certaines pages.