Як додати контактну форму на сторінку в 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();

 

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

 

 

Recent Posts

WordPress як Headless CMS 🧠 | практично з REST API

WordPress роками був неперевершеним "монолітом": він відповідав і за зручну адмін-панель, і за збереження даних,…

1 тиждень ago

Тандем Nginx + Apache 🤝 Як поєднати швидкість та гнучкість

У світі веб-серверів часто говорять про протистояння Nginx vs Apache. Але що, якби я сказав…

2 тижні ago

Що таке Apache HTTP Server: 📜 Надійний ветеран веб-серверів

Коли я починав свій шлях у веб-розробці, питання "який веб-сервер використовувати?" практично не стояло. Відповідь…

2 тижні ago

Що таке Nginx: чому він швидший за Apache? 🚀 | Інструкція + Конфіги

Коли мова заходить про веб-сервери, два імені завжди на слуху: Apache та Nginx. Apache —…

2 тижні ago

Знайомство з Docker для веб-розробника 🐳 | Встановлення та основи

У світі веб-розробки ми постійно стикаємося з проблемою: "А в мене на комп'ютері все працює!".…

2 тижні ago

Навіщо веб-розробнику віртуальна машина (VM) 🖥️

На зорі моєї кар'єри веб-розробника все було відносно просто: встановив локальний сервер (пам'ятаєте Denwer?), поклав…

2 тижні ago