Create Your custom Form with magento validation In:
app/design/frontend/Your_theme/default/template/custompage/application_form.phtml
<div class="application-form-wraper"> <h2 class="title"><?php echo $this->__('Application Form') ?></h2> <form action="<?php echo $this->getBaseUrl()?>contacts/index/applicationform" id="contactForm" method="post"> <table border="1"> <tbody> <tr> <td><label for="name"><?php echo $this->__('Name:') ?></label></td> <td><input class="input-text required-entry" type="text" size="27" id="name" name="name" value=""></td> </tr> <tr> <td><label for="address"><?php echo $this->__('Address:') ?></label></td> <td><textarea class="input-text required-entry" id="address" name="address" cols="27" rows="5"></textarea></td> </tr> <tr> <td><label for="telephone"><?php echo $this->__('Tel:') ?></label></td> <td><input class="input-text required-entry" type="text" size="27" id="telephone" name="telephone" value=""></td> </tr> <tr> <td><label for="mobile"><?php echo $this->__('Mobile:') ?></label></td> <td><input class="input-text required-entry" type="text" size="27" id="mobile" name="mobile" value=""></td> </tr> <tr> <td><label for="email"><?php echo $this->__('Email:') ?></label></td> <td><input class="input-text required-entry validate-email" type="text" size="27" id="email" name="email" value=""></td> </tr> <tr> <td><label for="dob"><?php echo $this->__('Date of Birth:') ?></label></td> <td><input class="input-text required-entry" type="text" size="27" id="dob" name="dob" value=""></td> </tr> <tr> <td><label for="pps"><?php echo $this->__('PPS / Nat Ins Number:') ?></label></td> <td><input class="input-text required-entry" type="text" size="27" id="pps" name="pps" value=""></td> </tr> <tr> <td><label for="own-transport"><?php echo $this->__('Own Transport:') ?></label></td> <td> <select id="own-transport" name="own-transport"> <option value="<?php echo $this->__('Yes') ?>"><?php echo $this->__('Yes') ?></option> <option value="<?php echo $this->__('No') ?>"><?php echo $this->__('No') ?></option> </select> </td> </tr> <tr> <td><label for="driving-licence"><?php echo $this->__('Driving Licence:') ?></label></td> <td> <select id="driving-licence" name="driving-licence"> <option value="<?php echo $this->__('Full') ?>"><?php echo $this->__('Full') ?></option> <option value="<?php echo $this->__('Prov.') ?>"><?php echo $this->__('Prov.') ?></option> </select> </td> </tr> <tr> <td><label for="availability"><?php echo $this->__('Availability:') ?></label></td> <td> <select id="availability" name="availability"> <option value="<?php echo $this->__('Part-time') ?>"><?php echo $this->__('Part-time') ?></option> <option value="<?php echo $this->__('Full-time') ?>"><?php echo $this->__('Full-time') ?></option> </select> </td> </tr> <tr> <td colspan="2"><strong><?php echo $this->__('Experience (Please tick)') ?></strong> <table border="1"> <tbody> <tr> <td><label for="milking"><?php echo $this->__('Milking:') ?></label></td> <td><input type="checkbox" id="milking" name="milking" value="<?php echo $this->__('yes') ?>"></td> <td><label for="sheep"><?php echo $this->__('Sheep:') ?></label></td> <td><input type="checkbox" id="sheep" name="sheep" value="<?php echo $this->__('yes:') ?>"></td> </tr> <tr> <td><label for="fencing"><?php echo $this->__('Fencing:') ?></label></td> <td><input type="checkbox" id="fencing" name="fencing" value="<?php echo $this->__('yes:') ?>"></td> <td><label for="pigs"><?php echo $this->__('Pigs:') ?></label></td> <td><input type="checkbox" id="pigs" name="pigs" value="<?php echo $this->__('yes:') ?>"></td> </tr> <tr> <td><label for="machinery"><?php echo $this->__('Machinery:') ?></label></td> <td><input type="checkbox" id="machinery" name="machinery" value="<?php echo $this->__('yes:') ?>"></td> <td><label for="other-pls-select"><?php echo $this->__('Other (Please State):') ?></label></td> <td><textarea id="other-pls-select" name="other-pls-select" cols="25" rows="5"> </textarea></td> </tr> </tbody> </table> </td> </tr> <tr> <td><label for="aspect"><?php echo $this->__('Is there any aspect of health that would restrict or limit your employment - if yes give details:') ?></label></td> <td><textarea class="required-entry" id="aspect" name="aspect" cols="25" rows="5"></textarea></td> </tr> <tr> <td><label for="referees"><?php echo $this->__('Referees:') ?></label></td> <td><textarea class="required-entry" id="referees" name="referees" cols="25" rows="5"></textarea></td> </tr> <tr> <td><label for="comments"><?php echo $this->__('Comments:') ?></label></td> <td><textarea class="required-entry" id="comments" name="comments" cols="25" rows="5"></textarea></td> </tr> <tr> <td><input type="submit" value="Submit" name="submit" class="button"></td> <td><input type="reset" value="Reset" name="reset" class="button"></td> </tr> </tbody> </table> </form> <script type="text/javascript"> //<![CDATA[ var contactForm = new VarienForm('contactForm', true); //]]> </script> </div>
Create A small extension with following files:
app/etc/modules/Sushant_Contacts.xml
<?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Sushant_Contacts> <active>true</active> <codePool>local</codePool> </Sushant_Contacts> </modules> </config>
app/code/local/Sushant/Contacts/controllers/IndexController.php
<?php require_once 'Mage/Contacts/controllers/IndexController.php'; class Sushant_Contacts_IndexController extends Mage_Contacts_IndexController { const XML_PATH_EMAIL_RECIPIENT = 'contacts/email/recipient_email'; const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity'; const XML_PATH_EMAIL_TEMPLATE = 'contacts/email/email_template'; const XML_PATH_ENABLED = 'contacts/contacts/enabled'; public function preDispatch() { parent::preDispatch(); if( !Mage::getStoreConfigFlag(self::XML_PATH_ENABLED) ) { $this->norouteAction(); } } public function indexAction() { $this->loadLayout(); $this->getLayout()->getBlock('contactForm') ->setFormAction( Mage::getUrl('*/*/post') ); $this->_initLayoutMessages('customer/session'); $this->_initLayoutMessages('catalog/session'); $this->renderLayout(); } /********************************Custom from start**************************************************/ public function applicationformAction(){ $post = $this->getRequest()->getPost(); if($post){ try{ $name=$post['name']; $address=$post['address']; $tel=$post['telephone']; $mobile=$post['mobile']; $email=$post['email']; $dob=$post['dob']; $pss=$post['pps']; $transport=$post['own-transport']; $drive=$post['driving-licence']; $available=$post['availability']; $milking=$post['milking']; $ship=$post['sheep']; $fencing=$post['fencing']; $pigs=$post['pigs']; $mechinary=$post['machinery']; $other=$post['other-pls-select']; $aspect=$post['aspect']; $referees=$post['referees']; $comment=$post['comments']; // set the Transactional Email Template's ID that you've created... $templateId = 3; // Set sender information $senderName = $name; $senderEmail =$email; $sender = array('name' => $senderName, 'email' => $senderEmail); // Set recepient information $recepientEmail = 'cmoffitt@donegalfrs.com'; $recepientName = 'farmrelief'; // Get Store ID $storeId = Mage::app()->getStore()->getId(); // Set variables that can be used in email template. To get this variable write like {{var customerEmail}} in transactional Email. $vars = array('name' => $name, 'address' => $address, 'telephone' => $tel, 'mobile' => $mobile, 'your-email' => $email, 'dob' => $dob, 'pps' => $pss, 'own-transport' => $transport, 'driving-licence' => $drive, 'availability' => $available, 'sheep' => $ship, 'milking' => $milking, 'fencing' => $fencing, 'pigs' => $pigs, 'machinery' => $mechinary, 'other-pls-select'=>$other, 'aspect'=>$aspect, 'referees'=>$referees, 'comments'=>$comment ); $translate = Mage::getSingleton('core/translate'); // Send Transactional Email Mage::getModel('core/email_template') ->addBcc('info@donegalfrs.com') // You can remove it if you don't need to send bcc ->sendTransactional($templateId, $sender, $recepientEmail, $recepientName, $vars, $storeId); Mage::getSingleton('customer/session')->addSuccess(Mage::helper('contacts')->__('Thank you for contacting us. Your message has been received. We will get back to you shortly.')); $translate->setTranslateInline(true); $this->_redirectReferer(); return; } catch (Exception $e){ $translate->setTranslateInline(true); Mage::getSingleton('customer/session')->addError(Mage::helper('contacts')->__('Unable to submit your request. Please, try again later')); $this->_redirectReferer(); return; } } } /********************************Custom from End**************************************************/ }
app/code/local/Sushant/Contacts/etc/config.xml:
<?xml version="1.0"?> <config> <modules> <Sushant_Contacts> <version>0.0.1</version> </Sushant_Contacts> </modules> <frontend> <routers> <contacts> <use>standard</use> <args> <module before="Mage_Contacts">Sushant_Contacts</module> </args> </contacts> </routers> </frontend> </config>
0 Comments