Qualche giorno fa mi è stato chiesto di risolvere un problema al modulo dei contatti integrato in Magento. Quando un cliente tenta di contattarvi attraverso il form dei contatti potrebbe ritrovarsi davanti a questo errore: Unable to submit your request. Please, try again later (o in italiano: Impossibile inoltrare la richiesta. Per favore, riprova più tardi.).
Questo errore è dovuto un bug presente in tutti i template creati precedentemente la 1.4 e che non sono stati aggiornati correttamente (particolare molto difficile da notare).
Si tratta di un controllo antispam inserito a partire dalla 1.4 e che grazie a un campo nascosto permette di riconoscere se i campi sono stati compilati da una persona reale o da un bot.
Per risolvere dovete aprire il file del template contacts/form.phtml e modificare il codice che si presenterà pressapoco così:
<div>
<p><?php echo Mage::helper('contacts')->__('* Required Fields') ?></p>
<button type="submit"><span><?php echo Mage::helper('contacts')->__('Submit') ?></span></button>
</div>
e sostituirlo in questo modo:
<div>
<p><?php echo Mage::helper('contacts')->__('* Required Fields') ?></p>
<input type="text" name="hideit" value="" style="display:none!important;" id="hideit" />
<button type="submit" title="<?php echo Mage::helper('contacts')->__('Submit') ?>"><span><?php echo Mage::helper('contacts')->__('Submit') ?></span></button>
</div>

Commenti