Форма обратной связи опенкарт

Форма обратной связи опенкарт

Небольшой, но подробный туториал для начинающих разработчиков.

Возникла потребность в плавающей, выдвигающейся сбоку форме обратной связи (обратный звонок). К сожалению, готового решения я так и не нашел, кроме громоздкого, через модуль vqmod. Его суть заключается в перезаписи файлов OpenCart на лету, этакий своеобразный прокси-компонент, или декоратор, если угодно. Идея, конечно, интересная, но не об этом сейчас.

Мы займемся решением задачи с нуля, рассмотрим в деталях, как это делается. Надеюсь, материал данной статьи поможет вам лучше ориентироваться в OpenCart.

В развернутом виде, наша форма будет выглядеть так

Отправлять данные будем с помощью AJAX, то есть без перезагрузки страницы. Потребуется написать под это дело контроллер, исправить темплейт header текущей (дефолтной в нашем случае) темы, добавить стили и JavaScript.

Полный список редактируемых файлов:

  • /catalog/view/theme/default/template/common/header.tpl
  • /catalog/view/theme/default/stylesheet/stylesheet.css
  • /catalog/view/javascript/common.js
  • /catalog/controller/ajax/feedback.php – создаем папку и файл

Сперва, создадим код нашей формы:

Затем, вставим в header.tpl, сразу после открывающего тэга body. Полный путь здесь и далее смотри выше, в списке файлов.

Теперь добавим стили в самый конец stylesheet.css

Большая CSS простыня (кликни)

Теперь создадим папку ajax и контроллер feedback, следующего содержания:

Адрес, на который отправляются письма, берем из настроек OpenCart и другие настройки, связанные с почтой. Контроллер работает как в режиме «Mail» так и «SMTP».

Данное решение тщательно протестировано на версии OpenCart 2.3.0.2 (русская сборка).

Чтобы ваши письма не попадали в СПАМ, воспользуйтесь рекомендациями из ранее опубликованной статьи

Модуль для создания формы обратной связи на Opencart 2.x. Форму можно выводить через Макеты в позиции на сайте на любую страницу. В админке можно задать заголовок контактной формы и текст перед формой. Мультиязычный.

Установка модуля:
1. Установить модуль (contact-form.ocmod.zip) через админку
2. Обновить модификации
3. Перейти в Модули > Модули, включить и настроить модуль
4. Вывести модуль на страницы через Дизайн > Макеты

Изменения:
11.05.2017 — исправлены ошибки с выводом заголовка и описания модуля в версиях для Opencart 2.2 и 2.3

    Opencart 2.0 Opencart 2.1 и ocStore 2.1 Opencart 2.2 Opencart 2.3 и ocStore 2.3

1. Скачайте и установите фикс Localcopy
2. Обновите модификации в админке
3. Загрузите модуль наново

Ошибка 500 после установки модуля означает, что случилась какая-то критическая ошибка в php.

Читайте также:  Замена диспетчера задач windows 10

Для определение проблемы можно:
1. Открыть файл logs/error.log на вашем сервере. В конце этого файла будут все последние критические ошибки.
2. Открыть в админке Инструменты > Логи ошибок — в этом месте отображаются ошибки, но не всегда.
3. Включить вывод ошибок php на экран — добавить следующий код в конец файла .htaccess:

1. Если вы раньше не загружали модули в архиве через админку — вам нужно установить бесплатную модификацию localcopy.ocmod.xml согласно инструкции и после этого переустановить модуль

2. Возможно в устанавливаемого модуля нет собственной страницы настроек и соответственно его не будет в списке Модулей

Два варианта решения:

1. Если при установке модуля из админки вылетает эта ошибка — вам нужно установить бесплатную FTP QuickFix модификацию localcopy.ocmod.xml. Она установиться без проблем через тот же установщик дополнений, только после установки не забудьте обновить модификации и затем можете приступать к установке любых модулей на Opencart 2.

2. Также решить эту ошибку можно по другому: прописать доступы к FTP в админке Система > Настройки > Магазин > вкладка FTP.

Если вы видите сообщение " Доступ запрещен! У Вас нет прав для доступа к этой странице. Если она Вам нужна, обратитесь к администратору. " — нужно дать права администраторам на управление модулем или страницей.

Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем "Выделить все" ниже обоих блоков, затем Сохранить .

Еще одной причиной появления этой ошибки может быть не правильная установка модуля — файлы не загрузились на свои места. Загрузите файлы модуля вручную на сервер или установите фикс localcopy и переустановите модуль.

Решение: в админке Opencart 2 переходим в Система > Пользователи > Группы пользователей > Администраторы и здесь нажимаем "Выделить все" ниже обоих блоков, затем Сохранить .

Если модуль — это один XML файл, то его расширение должно быть .ocmod.xml

Если модуль — это ocmod.zip архив, то его не нужно распаковывать, а устанавливать как есть. В таком архиве обязательно должна быть папка upload (может быть пустой) , а также могут быть файлы модификаций: install.xml , install.php , install.sql . Никаких других файлов в корне архива быть не должно.

Читайте также:  Шуруповерт 18 вольт рейтинг

Эта ошибка означает, что в загружаемом архиве отсутсвует папка upload. Даже если у модуля нет файлов, кроме модификаций — эта папка должна присутствовать в архиве модуля .ocmod.zip, тогда она должна оставаться пустой.

Эта ошибка означает, что вы пытаетесь установить модификатор, который уже установлен или, возможно, у какого-то вашего модуля такой же ID.

Для решения этой ошибки вам нужно перед установкой удалить старую версию модификации в разделе Модули > Модификации.

Если такого модуля у вас нет, но совпадает ID, тогда нужно поменять значение параметра в устанавливаемом модификаторе XML, сделать этот параметр уникальным дописав несколько символов.

Эта ошибка означает, что вы пытаетесь установить слишком объемный xml- модификатор.

Количество символов в ocmod.xml файле не должно превышать 65535 .

Для решения ошибки нужно разбить xml-файл модификации на несколько частей, главное — не забыть задавать каждой уникальное значение в , можно добавлять к текущему значению цифры 1,2,3. как идентификаторы части.

Еще одним способом решения есть изменения типа в поля, где храняться модификации, в таблице ‘oc_modification’ базы данных. Нужно выполнить следующий SQL-запрос:
ALTER TABLE oc_modification CHANGE xml xml MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ;

Похоже, вы установили на Opencart 2.3.x.x модуль для более старых версий этой системы, то есть не совместимый модуль. Нужно удалить все файлы этого модуля, иначе ошибка не исчезнет.

Для удаления файлов модулей из админкм в один клик можно использовать модуль

Также данная ошибка может возникать, если скрипт обращается к несуществующей таблице в базе данных. То есть, таблица модуля не создалась при установке. Читайте инструкцию по установке и переустановите модуль.

Если модуль не реагирует на ваши действия, будь-то нажатие на кнопку или загрузка карты или выбор даты или на любое другое действие которое есть в функционале модуля — скорее всего произошел конфликт в JS-скриптах.

Нажмите F12 на проблемной странице в браузере — откроется панель вебмастера, где на вкладке Console можно увидеть конфликты в скриптах, если они есть. Данное действие доступно в браузерах Chrome, Opera, Firefox.

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Читайте также:  Как поменять клавиатуру на ноутбуке lenovo

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading

Want to be notified of new releases in Morisf/OpencartCallBackForm ?

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio

Latest commit

Files

Permalink

Type Name Latest commit message Commit time
Failed to load latest commit information.
admin
catalog
LICENSE
README.md

Call back form module for Opencart 2

  • Download
  • Unpack
  • Upload to server
  • The module should not replace anything — if the proposed replacement, contact me
  • Add a background image in Baner.
  • Switch Module
  • Add new feedback Module
  • Select Create a banner above
  • Specify the dimensions of the module — unfortunately it all depends on the BG image — because image will be rsized to
  • Add to the desired Layout

This module created from Opencart Banner module and allow to create a CallBack form with 3 field (Name, email, Phone) with custom BG image, dimensions and position on layout This is first version of this module — if you want add some improve you can wrote in the comments or fork it

Форма обратной связи для OpenCart 2

  • Скачать
  • Распаковать
  • Загрузить на сервер
  • Модуль не должен ничего заменять — если предлагается замена, свяжитесь со мной
  • Добавить фоновое изображение в Банер.
  • Включить модуль
  • Создать Обратную связь
  • Выбрать баннер созданые выше
  • Указать размеры модуля — тут к сожалению все зависит от картинки — так как она тоже ресайзится под модуль
  • Добавить в нужный Лайаут

Данный модуль создан на основе OpenCart Banner Module. Он позволяет создать форму обратной связи с 3мя полями (Имя, почта и телефон) с фоновым изображением. И разместить на любой странице через макеты. Это первый вариант модуля — если у Вас есть пожелания к расширению модуля вы можете написать их в коментариях или сделать форк и доработать

Ссылка на основную публикацию
Adblock detector