Bonsoir,
Je suis entrain de créer un formulaire du type contact_us.php mais avec un champ supplémentaire.
J’ai donc modifier le fichier catalog/contact_us.php et catalog/includes/languages/french/contact_us.php
Dans le fichier catalog/includes/languages/french/contact_us.php
J’ai mis ceci : …
define('ENTRY_NAME', 'Nom et Prénom :');
define('ENTRY_EMAIL', 'Adresse email :');
define('ENTRY_TYPEPRODUIT', 'Type de produit :');
define('ENTRY_ENQUIRY', 'Votre demande :');
?>
Et dans le fichier catalog/contact_us.php
J’ai mis ceci :…
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main"><?php echo ENTRY_NAME; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('name'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_EMAIL; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('email'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_TYPEPRODUIT; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('typeproduit'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_ENQUIRY; ?></td>
</tr>
<tr>
<td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
…
Ma première erreur est que dans le formulaire j’ai ENTRY_TYPEPRODUIT au lieu du texte « typeproduit » et la deuxième est que quand je rempli le formulaire et fait continuer il me renvoi vers le formulaire de base SANS le champ type produit.
Faut-il aussi modifier le language « english » malgré qu’il n’est pas utilisé dans les langues de mon site puisqu’il indique ('name') ou autre dans le fichier catalog/contact_us.php
Merci pour vos informations.
fissiaux
24 Jun 2006, 22:46
NOn pour english.
Pour le reste, c'est bizarre car ta démarche est bonne.
webistro
25 Jun 2006, 10:48
Bonjour,
sans doute que la variable 'typeproduit' est manquante :
CODE
$typeproduit = tep_db_prepare_input($HTTP_POST_VARS['typeproduit']);
et
dans la fonction tep_mail :
CODE
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $HTTP_POST_VARS['email_subject'], $typeproduit,$enquiry, $name, $email_address);
fissiaux
25 Jun 2006, 10:57
Bizarre, au sens du define présent (ENTRY_TYPEPRODUIT) , et pourtant le contenu du define n'est pas affiché.
armoise
25 Jun 2006, 16:10
Bonjour,
Il ya le tuto de Ryu007 sur l'insertion de nouveau champ dans contact_us.php
c'est iciVoilou
Bonjour,
J’ai donc procédé autrement :
J’ai crée une page contact_us2.php dans catalog/
J’ai crée une page contact_us2.php dans catalog/includes/languages/french/
J’ai ajouté le define en conséquence dans filenames.php
J’ai donc comme résultat :
Nom et Prénom :
Adresse email :
Type de produit :
Demande de renseignements :
Mon problème est maintenant que lorsque je reçois l’email le champ « type de produit » n’apparaît pas dans le mail au bon endroit.
Le problème pour moi est dans le fichier catalog/contact_us2 à la ligne :
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address, $typep);
J’ai fais les tests suivants:
Test 1 : avec cette ligne :
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address, $typep);
J’ai dans l’email que je reçois :
Le nom du client, son adresse email et le champ qu’il repli dans Demande de renseignements : mais pas le champ Type de produit
Test 2 : avec cette ligne :
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $typep, $name, $email_address,);
J’ai dans l’email que je reçois :
Le champ « type de produit » à la place de Noms et prénom Le nom du client qui est acroché à un @......com(adresse email que je ne connais pas) et le champ qu’il rempli dans Demande de renseignements :
Test 3 : avec cette ligne :
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $typep, $email_address,);
J’ai dans l’email que je reçois :
Le nom du client, à la place de son adresse email j’ai le champ « type de produit » et le champ qu’il rempli dans Demande de renseignements :
Test 4 : avec cette ligne :
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $typep, $enquiry, $name, $email_address,);
J’ai dans l’email que je reçois :
Le champ « demande de rensignements » à la place de Noms et prénom Le nom du client qui est acroché à un @......com(adresse email que je ne connais pas) et le champ qu’il rempli dans Demande de renseignements est devenu le renseignement que je mets dans « type du produit »
Donc je ne vois plus quel modification à faire.
webistro
26 Jun 2006, 22:15
essayes :
CODE
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $HTTP_POST_VARS['$typep'], $enquiry, $name, $email_address);
Nan
Bonjour,
J’ai donc essayé votre formule, le résultat est :
OK pour le nom & prénom
OK pour l’adresse email
Ok pour le champ (demande de renseignements)
Mais pas de champ « type de produit » et plus d’entête de mail du type « requête de xxxx, votre boutique…. »
Je vais faire d’autres tests et je fais le retour, mais une autre idée est la bienvenue
Merci