En esta oportunidad queremos dar a conocer la manera de modificar los campos del formulario de Magento. Como es sabido el mismo posee campos básicos de contacto: Nombre, correo electrónico, teléfono, país y comentario, los cuales son esenciales y muy útiles. Pero si estamos en la situación de requerir información adicional, es necesario realizar algunas modificaciones.

Imaginemos que tenemos una tienda de artículos para el hogar y deseamos saber cuáles son las preferencias del usuario respecto a los productos que proveemos. Para ello, nos vamos al archivo form.phtml de la carpeta Contacts de nuestro tema siguiendo la siguiente ruta: dev/app/design/frontend/default/su-tema/template/contacts/form.phtml.

Una vez allí, adicionamos el campo correspondiente. Para este ejemplo vamos a adicionar al formulario “Preferencias”, y lo haremos de la siguiente forma:

<div class="field">

<label class="required" for="preferences"> <em>*</em><!--?php echo Mage::helper('contacts')->__('Preferences') ?--> </label>
<div class="input-box"><select id="preferences" class="required-entry" name="preferences">
<option selected="selected" value=" "><!--?php echo Mage::helper('contacts')->__('Please select...') ?--></option>
<option value="lighting"><!--?php echo Mage::helper('contacts')->__('Lighting') ?--></option>
<option value="gardening"><!--?php echo Mage::helper('contacts')->__('Gardening') ?--></option>
<option value="lingerie"><!--?php echo Mage::helper('contacts')->__('Lingerie') ?--></option>
<option value="furniture"><!--?php echo Mage::helper('contacts')->__('Furniture') ?--></option>
<option value="others"><!--?php echo Mage::helper('contacts')->__('Others') ?--></option>
</select></div>
</div>

Nota: En este ejemplo, la sintaxis: Mage::helper(‘contacts’)->__(‘Please select…’) se utiliza si la tienda posee diversos idiomas, y es la manera de hacer referencia a la palabra para su posterior traducción en el archivo .csv correspondiente.

Luego de haber añadido el elemento al formulario de contacto, se necesita definir la plantilla de correo electrónico con el nuevo campo, para ello vamos al panel de administración de Magento siguiendo la siguiente ruta: System -> Transactional Emails y hacemos clic en el botón: Add New Template.

Posterior a ello, en el área denominada Load Default Template, en el campo Template se selecciona la opción Contact Form. Pasando al área de Template information en el campo Template Name, colocamos el nombre que deseamos dar a la nueva plantilla, y en el área denominada Template Content adicionamos el nuevo campo, siguiendo la sintaxis: {{var data.preferences}}. Véase la imagen a continuación.

Magento Custom Form Settings | blog itandfeel

Después de haber definido la nueva plantilla debemos asignarla, para ello dentro del panel de administración de Magento, nos dirijimos a: System -> General -> Contacts, y en el área Email Options, específicamente en el campo Email Template, seleccionamos la nueva plantilla creada. finalmente hacemos clic en el botón Save Config.

Y eso es todo, de esta forma ya tenemos definido un formulario de contacto personalizado, conjuntamente con su plantilla de correo electrónico para el envío de la información adicional requerida.