Jump to content

Contribution pour demande de devis


Recommended Posts

Une petite contribution, qui permet à vos clients de vous demander un devis via un formumaire, sans être inscrits.
N'étant pas un module, ne change rien à PS et doit marcher avec toutes les versions.
Modifiable à volonté.
Placer le repertoire devis à la racine du site.
Personnalisé le devis :
- remplacer le logo.gif par le votre
- modifier formulaire.Html à la ligne 54
- fichier envoi.php
- ligne 25 votre adresse email
- ligne 37 2ème adresse email ( au cas ou vous désirez recevoir le devis sur 2 adresses différentes)
- ligne 52
- ligne 54
- ligne 58
- fichier remerciements.html
- ligne 45
- ligne 52

Appeler le devis à partir de PS : /devis/formulaire.html
autre chose, pour le lien hypertexte choisir _Blank ( même fenêtre)

J'espère que cela en dépannera plus d'un

devis.zip

Link to comment
Share on other sites

Pour le htaccess la plupart des boutiques en ont déjà un à la racine de leur site, donc ça devrait aller non?

Sinon ça m'a l'air pas mal du tout, je vais voir pour intégrer cela à mon site dès que je peux.
Merci beaucoup pour ta contribution fort intéressante Neness :)

Link to comment
Share on other sites

Bonsoir,

Merci pour cette contribution, une question cependant :
-Que faut-il faire pour que le formulaire soit aussi pris en compte en mode maintenance ?

[EDIT] Je précise, inaccessible comme le reste du site car si google le met en avant, il est accessible même en maintenance actuellement

Link to comment
Share on other sites

  • 2 weeks later...

J'ai intégré ton formulaire au cms personnellement, et ça va plus que bien de cette manière, j'y ai apporté quelques améliorations, si tu veux le voir: ici

Améliorations:
-Saisie automatique des majuscules dans tous les champs
-Texte intégré dans le textarea qui disparait lors du clique dans le champs, et réapparait si rien n'y a été entré
-Format de la date demandé inscrit directement dans le champs date, de la même manière quand on clique dedans le "jj/mm/aaaa" disparait. Si la date entrée n'est pas valide (en direct, et non pas quand on clique sur "Valider"), il y a une alerte pop-up qui s'ouvre et qui renvois le focus dans le champs date.
-Modification du "checkbox" en "radio" pour le délais demandé du devis, étant donné que dans le mail, on recevait seulement 1seul délais si on en cochait plusieurs.
-Modification du liens "Retour" en un lien "Annuler" sous forme de bouton (

  • Like 1
Link to comment
Share on other sites

Pour le bug du .txt, je pense que ça viens de "envoi.php", j'ai vu une ligne qui correspond à une pièce jointe, mais je vois pas ce qu'est censé contenir le .txt


La partie qui traite du fichier joint

if ($nb_fic>0 && $envoi_mail_pj==1){ 
$x=1;

while ($x<=count($tab_fic)){

$m->attachFile($tab_fic[$x][0],$tab_fic[$x][1]);
$x++;
}
}



Je joins le formulaire, il faudra rajouter les balises <body> et <title> que j'ai viré.

Edit: bin j'arrive pas à joindre le fichier, il est pas accepté, donc je le met en lien: ici

Link to comment
Share on other sites

non il ne fallait pas, il faut les laisser ^^ comme ceci

$m = new CMIMEMail('Vous ','','Demande de Devis');



(ceci est une adresse fausse ^^)

de même pour toutes les adresse (vérifie aussi le code où il y a l'adresse du client, on te demande aussi de rentrer ton mail)

Link to comment
Share on other sites

Merci à Geoff95 et neness.

Ca marche mieux avec les <>.
Juste deux petit points supplémentaires :
- Avec le message d'accusé de réception envoyé au client il y a un fichier joint "Partie 1.2" qui est systématiquement vide. Est-il censé contenir quelque chose ? Sinon comment le supprimer ?
- Dans la procédure de saisie, à la page de remerciement, lorsque l’on clic sur "Retour à l’accueil", une nouvelle fenêtre s’ouvre pour revenir à la page d'accueil. Comment revenir à l’accueil en conservant la même fenêtre ?

Merci encore pour votre aide.
JMLF

Link to comment
Share on other sites

j'ai le même soucis, je pense qu'il faut retirer cette partie de code:

if ($nb_fic>0 && $envoi_mail_pj==1){ 
$x=1;

while ($x<=count($tab_fic)){

$m->attachFile($tab_fic[$x][0],$tab_fic[$x][1]);
$x++;
}

(qui est présente deux fois) mais j'ai pas fait de testes, donc je verrais ça, je pense que le fichier "envoi.php" était un code tout fait mais qui était fait pour un formulaire où on peut joindre un fichier. Je peux essayer en 30sec, je te dis ça dès que j'ai fait ça.

Link to comment
Share on other sites

Voilà, j'ai réussi à corriger se bug.

Il faut remplacer ses deux fichiers là, sans oublier d'éditer le envoi.php pour changer les adresses email et la page vers laquelle est renvoyé le client.


Hésites pas à utiliser le formulaire.htm que j'ai donné un peu plus haut en lien, c'est un version amélioré et corrigeant quelques soucis de codage. Tu peux voir le résultat ici
Tu peux aussi voir ce que j'ai modifié dans le post tout en haut de la page.


Si tu le prends n'oublie pas d'ajouter la balise <html> à la première ligne (avant tout), et </html> à la toute dernière ligne (après tout autre code), la balise <head> avant la basile "<meta>, et la balise <body> après la balise </head> et la balise </body> juste avant la </html>


(j'ai retiré toutes ses balises du fait de la manière dont j'ai utilisé le formulaire)

mimemail.php

envoi.php

Link to comment
Share on other sites

Bonjour,
Ta solution de l’intégrer au site par cms est plus sympa.
Je ne suis peut-être pas doué mais je n’y arrive pas.
J’ai repris ton formulaire tel que en y ajoutant les balises html, head et body mais le résultat n’est pas terrible (voir pièce jointe).
As-tu une idée pour faire mieux ?

JMLF

25582_sbmTU0KO7EqayjZtIyZI_t

Link to comment
Share on other sites

Ah ouais, c'est un bug IE que j'avais vu, j'avais corrigé ça, mais je pensais que le fichier que j'avais donné était corrigé aussi, je te donne un lien pour la version corrigée dès que j'ai accès à ma base de donnée, j'ai plus cette version là, j'ai une version avec un captcha (validation du formulaire par un mot clée) qui ne fonctionne pas encore, donc je ne peux pas te le passer.

PS: C'est toi qui a fait apparaitre les bordures du table?

Edit: Voilà: ici

Pour modifier le texte qui apparait dans "détails de la demande" il faut modifier les lignes 92 et 150, et mettre exactement le même texte aux lignes 92 et 150.

Link to comment
Share on other sites

Je pense que ca vient du global.css de mon thème avec ceci :

div.rte caption, div.rte th, div.rte td, div.rte table,
.mceContentBody caption, .mceContentBody th, .mceContentBody td, .mceContentBody table {
text-align: left;
font-weight: normal;
background:none;
height:inherit;
border:1px #e5e6e7 solid;
text-align:center;
}

Lorsque je modifie le parametre text-align pour le passer à left les cellules se remettent à gauche.

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

1) Quelqu'un pourrait t'il me dire où modifier le format de caractères pour éviter d'avoir ceci "Votre idée" dans le message envoyé au client ?

2) J'ai modifié le formulaire pour supprimer quelques champs, j'ai du trop supprimer puisque j'ai perdu le contrôle sur les champs obligatoires. Quelle fonction permet de retrouver ce contrôle ?

Merci à vous

Link to comment
Share on other sites

Bonjour à tous,

Moi aussi j'ai intégré ce formulaire dans un CMS mais malheureusement j'ai un petit souci.

En effet, le javascript ne s'active pas lorsqu'on laisse un champ vide ... (bien entendu g autoriser le javascript sur firefox 3.6.6 ...) alors que quand je test uniquement avec le formulaire.htm et les fichiers associés çà marche nickle ?

Si qqun pouvait éventuellement m'envoyer la copie du code qu'il a intégré dans sa base de donnée cf. ps_cms_lang çà serait sympa ;) car je pense que le pb vient forcément de là.

Merci d'avance à la communauté

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour !

J'ai intégré ce très intéressant formulaire dans la boutique que je suis en train d'installer.
Merci à vous tous pour cette belle contribution.

J'ai un souci : les employés de la boutique reçoivent bien leur mail, mais le client ne reçoit pas le sien !

Visiblement mon serveur SMTP n'envoie pas de mail à des adresses extérieures.
Erreur : Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay ...

Pourtant tout se passe bien avec le formulaire de contact, et les autres mails générés par les commandes et les paiements fonctionnent bien pour les adresses extérieures.

On dirait que mimemail.php ou envoi.php ne connaissent pas les paramètres SMTP qui sont paramétrés pour la boutique.

Dans envoi.php, c'est cette ligne qui crée le problème je crois :

$m = new CMIMEMail('Vous <'.$mail_client.'>','','Demande de Devis');



Le formulaire et les fichiers envoi.php et mimemail.php... sont dans un répertoire "devis". Celui ci est situé dans le sous-répertoire de la boutique. (Est-ce correct ?)

Le formulaire en cause est ici :

FORMULAIRE

(Il faudra ensuite que je traite le problème des pièces jointes qui ne fonctionnent pas encore)

Je vous remercie pour toute l'aide ou les conseils que vous pourrez m'apporter.

Prestashop version 1.2.5

Link to comment
Share on other sites

  • 2 months later...

Bonjour,

J'ai intégré ce devis en cms.

Je reçois bien les demande par contre je rencontre plusieurs problèmes :

- les messages de sécurité ne fonctionnes pas (je peux écrire n'importe quoi ou rien )

- Lorsque j''appuie sur "valider" (je reçois bien la demande) mais je reste sur la même page

Enfin le client reçois aucun mail (une piste...peut-être... l'adresse mail est écrit avec une majuscule automatique en début de phrase).

J'ai utilisé les fichiers corrigés et effectué les modifs...

J'ai l'impression q'il ya des erreurs au niveau du script dans mon formulaire.

Voila on a 2 devis gratuit sur presta (tout les autres sont payant) sa serait bien qu'il ne tombe pas aux oubliettes

Merci pour votre aide

Link to comment
Share on other sites

Bonjour !

J'ai intégré ce très intéressant formulaire dans la boutique que je suis en train d'installer.
Merci à vous tous pour cette belle contribution.

J'ai un souci : les employés de la boutique reçoivent bien leur mail, mais le client ne reçoit pas le sien !

Visiblement mon serveur SMTP n'envoie pas de mail à des adresses extérieures.
Erreur : Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay ...

Pourtant tout se passe bien avec le formulaire de contact, et les autres mails générés par les commandes et les paiements fonctionnent bien pour les adresses extérieures.

On dirait que mimemail.php ou envoi.php ne connaissent pas les paramètres SMTP qui sont paramétrés pour la boutique.

Dans envoi.php, c'est cette ligne qui crée le problème je crois :
$m = new CMIMEMail('Vous <'.$mail_client.'>','','Demande de Devis');



Le formulaire et les fichiers envoi.php et mimemail.php... sont dans un répertoire "devis". Celui ci est situé dans le sous-répertoire de la boutique. (Est-ce correct ?)

Le formulaire en cause est ici :

FORMULAIRE

(Il faudra ensuite que je traite le problème des pièces jointes qui ne fonctionnent pas encore)

Je vous remercie pour toute l'aide ou les conseils que vous pourrez m'apporter.

Prestashop version 1.2.5



Salut,

En ce qui concerne le sous répertoire, c'est correcte tant que cette ligne là est indiquée (dans le fichier envoi.php à la ligne 18)
$url_chemin=str_replace("devis/envoi.php","",$_SERVER["SCRIPT_URI"]);




Après, pour le mail client, est-ce qu'il est correctement renseigné? Comme j'ai vu que tu avez modifié les champs du devis, il se peut alors que le numéro (ID) du champ de l'email soit plus le bon, dans ce cas le mail sera envoyé vers un numéro de téléphone (par exemple, ou un prénom, ou nom etc...).
Le champs de l'email client, chez moi c'est l'ID 38 (voir formulaire.htm), donc dans le fichier envoi.php tu dois avoir à la ligne 10 (dans mon fichier à moi)

$data.='Votre e-mail : '.$_POST["id_38"].'
';

(donc vérifie là la concordance entre l'id indiqué et celle utilisée dans le fichier formulaire.htm) ainsi que à la ligne 44 (qui correspond au code d'envoi de l'email au client qui est :

$mail_client=$_POST['id_38'];
$m = new CMIMEMail('Vous <'.$mail_client.'>','','Demande de Devis');



Il faut là aussi renseigner le bon ID.

J'ai joint mon fichier envoi.php auquel j'ai ajouté quelques petit truc, notamment un récapitulatif du devis demandé dans le mail envoyé au client et j'ai aussi modifié le mail de l'expéditeur dans les mails envoyé à la boutique, car avant le devis qu'on recevait était à l'adresse de la boutique, donc en appuyant sur "répondre" on s'envoyait le mail à nous même, maintenant en appuyant sur "répondre" on envois le mail à l'adresse du client.

Dans le fichier envoi.php il faut modifier les lignes suivantes:
18, 22, 26, 43 et 47

En espérant que ça puisse en aider certains.

envoi.php

Link to comment
Share on other sites

Il manque plus qu'un captcha ! Merci à Geoff95 ! Tout fonctionne !!!!

Si ça peut aider certains ,

Mes erreurs :

- Le Background-image dans les balises <style></style> du formulaire
- Ensuite il faut 2 anti-slash dans le script javascript '\\' pour faire une apostrophe "'" (ce pourquoi les messages de sécurité fonctionnaient pas)
-Et pour la redirection : j'ai créé une autre page en cms du style 'Merci....' et j'insère le lien de cette page cms dans envoi.php (je n'utilise pas remerciements.htm)

Quelques remarques.

Je me sers d'un éditeur htm perso pour corriger mes pages mais ne pas toujours l'écouter!
Dans le script, laisser les 'é,è' tel quel (virer les '?')
Autre chose, insérer les codes directement par la base de donné mais attention car le HTML dans prestashop ne reconnait pas le css de 'valign' et 'align' (d'autres éléments aussi) il faut mettre un style à la place: style='vertical-align:center;' ou style='text-align:left;'


Enfin après labeur tout fonctionne!




Pour aller plus loin je souhaite mettre un captcha.
Après de nombreuses recherches, pour avoir quelque chose de simple à installer et plus facile à lire que le fameux Recaptcha, jai trouvé celui-ci :

http://www.white-hat-web-design.co.uk/articles/php-captcha.php

Il faut télécharger le zip. Créer un nouveau fichier ( exemple 'captcha' à la racine du site) et dézipper le contenu à l'intérieur.

Ensuite j'ai inséré ce code dans formulaire.htm (juste avant valider )

img <   src = " CaptchaSecurityImages.php " src = "CaptchaSecurityImages.php"   /> /> 
Security Code: Code de sécurité:  
< input <input   id = " security_code " id = "security_code"   name = " security_code " name = "security_code"   type = " text " type = "text"   /> /



J'ai remplacé : src = " CaptchaSecurityImages.php " par src = "/captcha/ CaptchaSecurityImages.php "



J'ai bien l'image avec le code de sécurité qui s'affiche dans mon formulaire. Maintenant il faut coordonner le bouton valider avec le captcha.


voici le code de vérification à insérer, (dans envoi.php je suppose :

<? php
  session_start();
  if(($_SESSION['security_code'] == $_POST['security_code']) && (!empty($_SESSION['security_code'])) ) {
     // Insert you code for processing the form here.

ici quoi mettre ? $data par exemple????

unset($_SESSION['security_code']);
  } else {
     // Insert your code for showing an error message here

ici faut-il metttre un message d'erreur ou le lien d'une page du style 'erreur...'????
  }
?>






Si quelqu'un a une petite idée

Link to comment
Share on other sites

Salut,

De rien pour le petit coup de main, et merci pour le captcha que vous m'avez fournis, j'avais déjà essayé d'en mettre un en place en vain, celui-ci était plus simple à mettre en place, et c'est chose faite.

Je vous donne donc la version modifié du formulaire complet avec le captcha (visible à l'adresse suivante: http://www.les-aquariums.com/cms.php?id_cms=6).

Le fichier "formulaire.htm" est à modifié à votre convenance.

Dans le fichier envoi.php il faut modifier les lignes suivante:

-Ligne 3:

if( isset($_POST['reset'])) {

remplacez le "reset" par la valeur du "name" de votre bouton valider.

-Si vous avez supprimé ou ajouté des champs de saisi dans le fichier formulaire.htm, rajouté la récupération des informations à la suite de (ligne 20):

$data.='Date prévue d\'Achat : '.$_POST["id_45"].'
';



-Ligne 21:

$url_chemin=str_replace("devis/envoi.php","",$_SERVER["SCRIPT_URI"]);

remplacez le "devis/envoi.php" par le chemin qui mène à vôtre fichier envoi.php

-Lignes 25, 30 et 47:

$mail_client=$_POST['id_38'];

remplacez le "id_38" par la valeur du "name" du champs correspondant à l'adresse email du client dans votre formulaire

-Ligne 26:

$m = new CMIMEMail('Vous ','<'.$mail_client.'>','Demande de Devis');

remplacez "[email protected]" par une adresse email où le devis doit être envoyez, et "Demande de Devis" par le sujet du mail reçu

-Ligne 31:

$rt = new CMIMEMail('Vous ','<'.$mail_client.'>','Demande de Devis');


remplacez "[email protected]" par une adresse email où le devis doit être envoyez, et "Demande de Devis" par le sujet du mail reçu

-Ligne 48:

$m = new CMIMEMail('Vous <'.$mail_client.'>','','Demande de Devis');


remplacez "[email protected]" par une adresse email où le devis doit être envoyez, et "Demande de Devis" par le sujet du mail reçu

-Ligne 52:

header("location: /devis/remerciements.htm"); //ligne 57 de l'erreur


remplacez "/devis/remerciements.htm" par l'adresse de la page vers laquelle le client est redirigé suite à la validation du formulaire.


Voilà, en espérant que tout ceci puisse en aider certains.

devis.zip

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 6 months later...
Bonjour qq1 aurait une idee pour l integrer via un onglé dns la fiche produit sous ajouter au panier???


Bonjour,

Il y a ce module pour répondre au besoin énoncé :
http://www.prestashop.com/forums/viewthread/83981/modules_tiers/resolu_module_devis_avec_piece_jointe/

Je l'ai testé et c'est vraiment bien :
http://catalogue.formation-tours.fr/6-formation-joomla-15-administrateur.html

Ca rajoute automatiquement un bouton demande de devis dans la fiche produit.

:)
Link to comment
Share on other sites

  • 2 weeks later...
  • 6 months later...

Bonjour,

Merci pour cette contribution, j'ai juste quelques questions concernant des modifications

 

1 j'ai une bordure de table c'est pas très jolie comment je peux faire pour les supprimer et aligner correctement les termes?

2 j'aimerai remplacer les boutons envoyer et retour par ceux de mon thème, est ce possible?

3 je voudrais que dans le mail envoyé au client à la suite de " bonjour" il reprenne le nom du client inscrit dans le formulaire.

 

J'aimerai aussi corriger un bug, effectivement dans le mail envoyé au client il y a un tas de caractère inconnu tout bizarre. comment je peut fixer le problème?

 

adresse du formulaire

 

Merci d'avance à la communauté

Link to comment
Share on other sites

Bonsoir

 

Tout d'abord joyeux noel a tous .

 

ensuite je viens car j'ai un leger soucis avec ce module. Bien que j'ai installé le module, il n'apparait pas dasn mon BO. il est bien dasn mon ftp mais invisible dans le BO

 

de plus je suis un peu perdue avec toutes les modifications a faire. Quelqu'un pourrait m'aider svp? m'anvoyer le module avec les changements effectués peut etre??? (je ne parle pas des changements 'adresse de site ou d'adresse mail mais tous les autres ^^)

 

Merci beaucoup d'vance!!!

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Bonjour

 

Ma réponse vient un peu tardivement mais on ne sait jamais...

 

ensuite je viens car j'ai un leger soucis avec ce module. Bien que j'ai installé le module, il n'apparait pas dasn mon BO. il est bien dasn mon ftp mais invisible dans le BO

 

Une fois le module transféré via FTP dans le dossier /modules/ de PrestaShop, il apparait bien dans le Back Office dans Modules pour pouvoir l'activer.

Une fois activé, le bouton Demande de devis apparait sur les fiches produits.

 

J'espère que ça aidera à avancer.

 

:)

Link to comment
Share on other sites

si vous le souhaitez j'ai reussi à rajouter la demande de devis à certains des produits

je peux egalement vous le mettre en place

 

contactez moi par mp

 

si vous souhaitez un exemple consulter mon site et allez sur la categorie les + belina

 

vous verrez la difference entre les autre produits ou services proposés

Link to comment
Share on other sites

  • 2 months later...

 

 

Bonjour,

 

Il y a ce module pour répondre au besoin énoncé :

http://www.prestasho...c_piece_jointe/

 

Je l'ai testé et c'est vraiment bien :

http://catalogue.for...nistrateur.html

 

Ca rajoute automatiquement un bouton demande de devis dans la fiche produit.

 

:)

 

Avec mon adresse mail perso, le module fonctionne.

 

Dès que je met l'adresse de l'entreprise, il ne fonctionne plus. On clique sur envoyer le devis et on reste sur la page et rien n'est envoyé.

Link to comment
Share on other sites

C'est encore moi :/ ....

Je suis toujours bloqué dès que je mets l'adresse de l'entreprise. Pourtant, j'ai un site personnel où je viens d'essayer le module et la il fonctionne même avec d'autres adresses mails.

 

Vraiment bizarre HELP !

Link to comment
Share on other sites

Appeler le devis à partir de PS : /devis/formulaire.html

autre chose, pour le lien hypertexte choisir _Blank ( même fenêtre)

 

J'espère que cela en dépannera plus d'un

 

Comment faire pour appeler le fichier ? je ne comprends pas trop :/

Link to comment
Share on other sites

  • 1 month later...

(Appelle du lien soit de type src="/devis/fromulaire.html" ou href="../devis/formulaire.html")

 

J'ai essayé le formulaire avec la dernière version de PS 1.4.8 ça fonctionne excepté sous Firefox dont les alertes scriptne fonctionnes pas (sans problème pour IE 9 /8 /7).

 

J'ai la première l'alerte "Veuillez compléter votre nom" puis après avoir entrée le champ "Nom" mais je passe à directement à l' alerte Captcha :

 

"Le code de sécurité est erroné"

 

 

Normalement je doit avoir l'alerte du champ "Prénom".

 

 

 

Il manque pas grand chose.... Une idée?

Link to comment
Share on other sites

Je m'auto-réponds sans avoir trouvé la solution pour Firefox mais une piste...

 

Le formulaire fonctionne sous firefox si il se trouve par exemple dans "Mes documents" mais dès qu'on le place sur un serveur (local ou en ligne) les alertes suivantes ne fonctionnent pas.

 

Il doit y avoir une configuration su Apache ou dans le BO de Prestashop.. ( problème rencontré avec la dernière version de Firefox que soit sur Prestashop 1.2.5 ou 1.5)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...