Pour notre prochain projet, une boutique e-commerce montée sur le CMS Spreecommerce, nous avions besoin d’un formulaire de contact un peu particulier.
Il devait répondre aux prérogatives suivantes :
- Avoir un captcha ne nécessitant pas de compte utilisateur
- Pouvoir définir différents destinataires en fonction de l’objet du message
- Stocker les messages en base de données
- Permettre le renvoi des messages à volonté depuis l’administration du site (en cas de perte par ex.).
Après plusieurs recherches infructueuses sur 3615 google nous avons décidé de prendre le chemin d’une réalisation d’extension en interne. Une fois le tuto de création d’extension pour Spreecommerce effectué, j’étais un peu sceptique sur mes capacités à réaliser cette extension, mais comme qui ne tente rien n’a rien, j’ai plongé tête baissée dans le code.
Après quelques démêlés avec l’api de spree, quelle ne fût pas ma surprise lorsque j’eus fini la partie administration, j’avais à peine écris 50 lignes de code !
De fil en aiguille, mon extension se développait tranquillement, ci-joint quelques captures d’écrans.
La partie publique :
Le backend :
La liste des demandes de contact :
La vue d’une demande de contact :
La liste des topics :
L’ajout d’un topic :
Une fois cette extension quasi finie, il restait encore à la partager avec la communauté Spreecommerce…
Je me suis donc lancé dans la construction d’un gem pour ruby, grâce au formidable Railscast de Ryan Bates, tout a été bouclé en quelques minutes.
Vous trouverez les instructions d’utilisation de cette extension sur :
spree-easy-contact