Як додати контактну форму на сторінку в Magento

Досить часто при розробці інтернет-магазину на Magento потрібно виводити форму зворотного зв’язку на довільній сторінці. У цій короткій статті ми розглянемо практичне рішення цього питання.

Щоб виводити форму для зворотного зв’язку практично на будь-якій сторінці в магазині, у вас є два можливих рішення. У першому випадку вам потрібно додати спеціальний код в статичну сторінку, яка була створена з панелі адміністрування (через меню CMS -> Pages). У другому випадку вам потрібно вставити спеціальний код виклику форми в файл шаблону (у форматі .phtml).

 

  1. Додавання форми через CMS сторінку

Спочатку зайдіть в панель адміністрування Magento, а потім перейдіть в меню CMS -> Сторінки (CMS -> Pages).

Відкрийте для редагування потрібну сторінку і додайте HTML-код в режимі редактора (не в режимі візуального редактора) на вкладці «Вміст» (Content). Приклад коду для вставки:

{{block type="core/template" name="contactForm" form_action="{{store direct_url='contacts'}}/index/post" template="contacts/form.phtml"}}  

 

Якщо вам потрібно вставити свою власну форму (а не дефолтну), тоді вам потрібно спочатку створити свій шаблон з формою, а потім викликати цей шаблон зі сторінки.

Шаблон контактної форми можна визначити в своїй темі. Створіть його, наприклад, тут:

app\design\frontend\[ПАКЕТ]\[ТЕМА]\template\custom\vasha-forma.phtml    <form action="some/action/" name="form-name" id="form-id" >    <!-- тут вставте HTML-код форми  -->  </form>  

 

Після цього ви можете викликати свою форму з CMS сторінки:

{{block type="core/template" name="form-name" template="custom/vasha-forma.phtml"}}  

 

 

  1. Додавання форми зворотного зв’язку через .phtml шаблон

 

Якщо у вас вже є шаблон з формою зворотного зв’язку, ви можете викликати його з іншого шаблону за допомогою простого коду:



 

echo $this->getLayout()->createBlock('core/template')->setFormAction($this->getUrl('contacts/index/post', array('_secure'=>true)))->setTemplate('custom/vasha-forma.phtml')->toHtml();  

 

Змініть шлях і назву шаблону, якщо потрібно, і у вас буде готова контактна форма.