Как добавить контактную форму на страницу в 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

Как принудительно обновить кэш у пользователей 🧹 | Практические методы

Вы внесли правки в CSS, исправили критический баг в JavaScript, загрузили файлы на сервер и…

19 минут ago

HTTP-заголовки кэширования (Cache-Control) 🚀 — подробный обзор

Представьте, что вы каждое утро приходите в одно и то же кафе и спрашиваете бариста:…

1 день ago

Наоми Кэмпбелл

Очень многие недооценивают то, что у них есть, и переоценивают то, чего у них нет…

1 неделя ago

Уолтер Дисней

Если вы можете это вообразить, - вы можете это сделать Уолтер Дисней  

1 неделя ago

Теодор Рузвельт

Стоит только поверить, что вы можете – и вы уже на полпути к цели Теодор…

2 недели ago

Надежная инфраструктура для бизнеса: VPS и выделенные серверы в Украине.

Успешный бизнес в 2025 году немыслим без стабильной ИТ-инфраструктуры. От корпоративного сайта до CRM-системы все…

2 недели ago