Insérer des données dans Reaxia à partir d'un formulaire
Un article de ReaxiaWiki.
Vous pouvez insérer des formulaires dans votre site Reaxia dont le contenu sera ajouté aux données Reaxia, et/ou envoyées par email à l'adresse de votre choix.
Sommaire |
Créer le formulaire en utilisant le wizard
Avec un compte développeur, aller dans Outils d'Administration > Générateur de librairies et de formulaires
Sélectionner le contenu dans lequel vous voulez insérer les informations, cochez "Générer un formulaire d'ajout de contenu" puis cliquez suir suivant. Le code du formulaire est alors automatiquement généré.
Créer la page d'arrivée du formulaire
Préparez la page sur laquelle sera dirigé le visiteur une fois le formulaire envoyé. Complétez la balise <form> du formulaire.
Par exemple, si le visiteur est redirigé sur la page sent.php, complétez ainsi la balise:
<form name="new_registered_member" action="sent.php" method="POST">
Ajouter le tag "InsertThread"
Pour insérer les données dans le contenu, votre page d'arrivée (ici, sent.php), devra contenir le code suivant:
<?php
if (isset($_POST['add_bloc_registered_member']) && $_POST['add_bloc_registered_member'] == 'true')
{
include_once('reaxia_lib/reaxia.php');
insert_thread('registered_member'); // insert_thread saves $_POST data in db
}
?>
Utiliser Reaxia Mailing Manager pour personnaliser l'envoi des emails
Rendez vous dans le Mailing Manager et créer un projet. Si vous vous rendez dessus, vous vous apercevrez qu'il a une adresse sous cette forme: http://mon_site/mailing/project_statistics.php?project_id=3
Notez bien la valeur de la variable "project_id"
Editez la page d'arrivée du formulaire, et remplacez le code précédent par le suivant:
<?php
if (isset($_POST['add_bloc_registered_member']) && $_POST['add_bloc_registered_member'] == 'true')
{
include_once('reaxia_lib/reaxia.php');
insert_thread('registered_member');
$options = array( 'DontSaveInDB' => true, // Ne pas sauvegarder dans la base de données
'SendMail' => true, // Envoyer un email
'UseRMM' => true, // Utiliser le Mailing Manager
'RMMProjectId' => 16, // La variable project_id identifiée précédemment
'MailTo' => 'somebody@test.com, someoneelse@test.com', // Destinataire(s)
'MailFrom' => 'quelquun@test.fr', // Expéditeur
'MailFromDisplayName' => 'Salon', // Nom affiché de l'expéditeur
'MailBcc' => 'somebody@test.com', // Copie cachée
'MailSubject' => 'something', // Sujet
'UniqueField' => 'single_line_1', // Champs unique
'MergeWithMostRecentInfo' => false,
'SaveToPublishedTable' => false
)
}
?>
Vous pouvez ensuite utiliser les champs du contenu sur lequel est basé votre formulaire pour rédiger le corps du mail dans le Mailing Manager.
Par exemple, si votre contenu présente l'architecture suivante:
| Information | Type de champ | Nom interne |
|---|---|---|
| Nom | Texte sur une ligne | single_line_1 |
| Prénom | Texte sur une ligne | single_line_2 |
| Société | Texte sur une ligne | single_line_3 |
| Texte sur une ligne | single_line_4 | |
| Téléphone | Texte sur une ligne | single_line_5 |
| Message | Texte de paragraphe | paragraph_1 |
Vous pourrez rédiger le mail suivant:
Bonjour {single_line_2} {single_line_1}
Nous avons bien pris connaissance de votre message, et vous remercions de l'intérêt que nous porte la société {single_line_3}.
Nous reprendrons contact avec vous dans les meilleurs délais, en vous contactant par téléphone au {single_line_5}.
Si par hasard ce numéro était erroné, merci de nous le faire savoir au plus vite par retour de courrier.
A bientôt
Les valeurs entre accolades seront automatiquement remplacées par le contenu correspondant du formulaire lors de l'envoi.
