Перейти к содержанию
Vlad2321

[Решено] Формы для ввода на OpenCart 2.0

Рекомендуемые сообщения

Ребята, выручайте!

 

Горит время сдавать проект, но ещё нужно добавить несколько форм в contact us. Работаю на OpenCart 2.0 и не знаю как тут это реализовать. Раньше пользовался модулями, но на последней версии, не вижу работающих. Знает кто-нибудь решение?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Горит время сдавать проект,

горит - туши.

но ещё нужно добавить несколько форм в contact us.

очередной мой хрустальный шар сломался, так и не осилив определить, о чем ты тут вещаешь.

Работаю на OpenCart 2.0 и не знаю как тут это реализовать. Раньше пользовался модулями, но на последней версии, не вижу работающих.

зачем использовать движок, в котором не разбираешься и для которого нет нужных тебе модулей? :?

Знает кто-нибудь решение?

42 :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя, в OpenCart я ещё разобрался не полностью, но тем не менее когда-нибудь это сделать придётся. Вы знаете путь решения или просто так написали? 

И, кроме того, я не сторонник нагромождения модулей, когда можно изменить сам код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

путь решения - 42.

или ты думаешь, что я (или кто-то другой) может залезть в твои мысли и узнать о каких формах и каком функционале идет речь, чтобы что-то подсказать? :wink:

у меня вон даже хрустальный шар сломался.

давай конкретику.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решение: добавить поля в шаблон и в контроллере отправки прикорячить их к стандартным - поглядеть, как это там реализовано и действовать по аналогии.

Это то, что выдал мой хрустальный шар. И после этого тоже лопнул  :-D

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

путь решения - 42.

или ты думаешь, что я (или кто-то другой) может залезть в твои мысли и узнать о каких формах и каком функционале идет речь, чтобы что-то подсказать? :wink:

у меня вон даже хрустальный шар сломался.

давай конкретику.

 

 

Решение: добавить поля в шаблон и в контроллере отправки прикорячить их к стандартным - поглядеть, как это там реализовано и действовать по аналогии.

Это то, что выдал мой хрустальный шар. И после этого тоже лопнул  :-D

 

Хорошо - больше конкретики, так больше конкретики. Есть CMS, под названием OpenCart 2.0; есть некая страница "Обратная связь" на которой нужно добавить поля для ввода Телефона и Темы сообщения, помимо стандартных полей. С помощью HTML и CSS я создал эти поля, но, в виду слабого знания PHP, не могу начать отсылать данную информацию вместе с той, которая мне уже приходит на почту.

Итого: нужен модуль или PHP-код, который поможет это реализовать. Надеюсь теперь больше конкретики? :-)  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо - больше конкретики, так больше конкретики. Есть CMS, под названием OpenCart 2.0; есть некая страница "Обратная связь" на которой нужно добавить поля для ввода Телефона и Темы сообщения, помимо стандартных полей. С помощью HTML и CSS я создал эти поля, но, в виду слабого знания PHP, не могу начать отсылать данную информацию вместе с той, которая мне уже приходит на почту.

Итого: нужен модуль или PHP-код, который поможет это реализовать. Надеюсь теперь больше конкретики? :-)  

Модуль будет на этой неделе SEO CMS PRO 2: Блог | Новости | Отзывы | Галерея | Формы (не путать с этим, это отдельные модули будут)

Под opencart 2.* там можно делать любые формы и размещать на любых страницах без vqmod без редактирования файлов

Если есть возможность подождать - дождитесь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модуль будет на этой неделе SEO CMS PRO 2: Блог | Новости | Отзывы | Галерея | Формы (не путать с этим, это отдельные модули будут)

Под opencart 2.* там можно делать любые формы и размещать на любых страницах без vqmod без редактирования файлов

Если есть возможность подождать - дождитесь.

Было бы неплохо, буду ждать)

Однако, как я понял, этот модуль будет напичкан всем возможным. Я бы хотел узнать, как работает конкретно данная функция.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надеюсь теперь больше конкретики? :-)

в самый раз :-)

С помощью HTML и CSS я создал эти поля

покажи код этих своих полей.

не могу начать отсылать данную информацию вместе с той, которая мне уже приходит на почту.

добавить надо в тело письма или чтобы "Тема сообщения" становилась темой письма?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Было бы неплохо, буду ждать)

Однако, как я понял, этот модуль будет напичкан всем возможным. Я бы хотел узнать, как работает конкретно данная функция.

Создаете форму в редакторе форм (с любыми пользовательскими полями) - ставите на страницу вместо старой формы (без редактирования файлов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в самый раз :-)

покажи код этих своих полей.

добавить надо в тело письма или чтобы "Тема сообщения" становилась темой письма?

 

Касательно кода.

 

Подключены валидаторы    

 

 

<script>

$(function(){
$('input[name=phone]').mask('+38 (000) 000-00-00');
$("#message").validate({
messages: {
name: "Вы неверно ввели имя",
phone: "Вы не ввели номер",
email: "Вы неверно ввели почту",
enquiry: "Вы не ввели текст",
}
});


});


</script>


<script type="text/javascript" charset="utf-8" src="/callme/js/callme.js"></script> 
<?php } ?>
    <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="message">          
 
<br>
 
          <label>
<input type="text" name="name" placeholder="ФИО *" value="<?php echo $name; ?>" id="input-name" class="form-control" required />
          </label>
          
            <br>
            <label for="input-phone">
<input type="phone" name="phone" value="<?php echo $phone; ?>" id="input-phone" minlength="19" class="form-control" placeholder="+38 (___) __-__-__" required>
            </label>
            <br>
  <label for="input-email">
<input type="email" name="email" value="<?php echo $email; ?>" id="input-email" class="form-control" placeholder="E-Mail *" required>
            </label>
            <br>
            <label>
<input type="text" name="theme" value="" placeholder="Тема"  maxlength="20"> 
            </label>
            <br>
            <textarea rows="10" cols="45" name="enquiry" id="input-enquiry" placeholder="Введите своё сообщение *" style="font-size:12px; margin:1% 0 0 0; padding: 5px" required></textarea>
            <br>
<button type="submit" value="<?php echo $button_submit; ?>">Отправить</button>
 
      </form>

 

 По поводу темы, то всё равно. Но, конечно, было бы лучше, чтобы тема была темой письма)

Изменено пользователем AlexFisher
spoiler, code... ну когда-же вы научитесь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

только html своих полей.

код - в CODE.

catalog/controller/information/contact.php

			$mail->setText(strip_tags($this->request->post['enquiry']));
>>

			$mail->setText(strip_tags($this->request->post['theme']."\n\n".$this->request->post['phone']."\n\n".$this->request->post['enquiry']));

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вместо

{subject},{name}
---
{message}
будет

{subject},{name}
---
{theme}
{phone}
{message}
ни валидации, ни сохранения данных в случае ошибок, ни вывода ошибок, ни текста (типа "телефон: "{phone}) не предусмотрено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С валидацией всё ясно, а как достигнуть сохранения данных?

И тогда Решено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

		if (isset($this->request->post['captcha'])) {
			$data['captcha'] = $this->request->post['captcha'];
		} else {
			$data['captcha'] = '';
		}
>>

		if (isset($this->request->post['captcha'])) {
			$data['captcha'] = $this->request->post['captcha'];
		} else {
			$data['captcha'] = '';
		}

		if (isset($this->request->post['theme'])) {
			$data['theme'] = $this->request->post['theme'];
		} else {
			$data['theme'] = '';
		}

		if (isset($this->request->post['phone'])) {
			$data['phone'] = $this->request->post['phone'];
		} else {
			$data['phone'] = '';
		}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, земляк! С меня причитается)

Изменено пользователем afwollis
overquote deleted

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

afwollisпоблагодарил вас, ввёл код, но при обновлении страницы всё равно очищаются ячейки. В принципе, и так устраивает, но если какой-то простой код, то не могли бы вы написать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>> при обновлении страницы всё равно очищаются ячейки

ctrl+R, F5, ctrl+F5 -> так и должно быть.

речь была о сохранении введенных данных на случай ошибки в родных полях.

тогда бы вывелось сообщение об ошибке, а данные, введенные в ваши новые поля, потерялись бы.

именно этот нюанс мы и устранили кодом из сообщения #16.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Публично хочу от Маркимакса копию модуля для ознакомления и оценки.

Только без всякой ионкубины..

Ну и прикольно выглядит: я от тя отдебагилась)))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кодировка летит на переменных имени, телефона и мыла

upd: перестала лететь. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От ocdroid
      Скачать/Купить дополнение


      Карта на странице контактов (Leaflet map)
      Простая и легкая карта на странице контактов. Отключает гугл-карту и заменяет ее на более легкий и открытый вариант.
      Подойдет тем, кто хочет отказаться от гугловских сервисов (используется библиотека leaflet, основанная на Open Street Map).
      Позволяет выводить произвольный текст на маркере.
       
      Языки: en-gb, ru-ru, uk-ua, pl-pl
       
      = = = TODO = = =
      Возможность добавления неограниченного количества маркеров (пункты выдачи и т.п.) Использование своих изображений для маркера  
      Распространяется as is
       
      Добавил ocdroid Добавлено 17.12.2018 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop  
    • От ocdroid
      Простая и легкая карта на странице контактов. Отключает гугл-карту и заменяет ее на более легкий и открытый вариант.
      Подойдет тем, кто хочет отказаться от гугловских сервисов (используется библиотека leaflet, основанная на Open Street Map).
      Позволяет выводить произвольный текст на маркере.
       
      Языки: en-gb, ru-ru, uk-ua, pl-pl
       
      = = = TODO = = =
      Возможность добавления неограниченного количества маркеров (пункты выдачи и т.п.) Использование своих изображений для маркера  
      Распространяется as is
       
    • От costas
      390.00 руб
      Скачать/Купить дополнение


      Magic Footer
      Дополнение (модуль) Magic Footer  позволяет позволяет выводить информацию о
      компании, контактах, ссылки на соц. сети и любую другую информацию в подвале (футере)
      интернет магазина.
       
      Magic Footer OC3 (версия модуля 3.0.0.x для OpenCart 3.0.x)
      Версии и сборки с которыми совместим Magic Footer OC3 :
      OpenCart версии 3.0.x - 3.0.2.x ocStore версии 3.0.x - 3.0.2.x Magic Footer OC2 (версия модуля 2.3.0.x для OpenCart 2.x)
      Версии и сборки с которыми совместим Magic Footer OC2 :
      OpenCart версии 2.0.x - 2.3.x ocStore версии 2.1.x - 2.3.x Magic Footer OC1 (версия модуля 2.0.10.x для OpenCart 1.5.x)
      Версии и сборки с которыми совместим Magic Footer OC1 :
      OpenCart версии 1.5.1.3.1 - 1.5.6.4 ocStore версии 1.5.1.3 - 1.5.5.1.2 Версия Magic Footer OC1 имеет отличия от версий OC3 и OC2 (см демо)
       
      Требования к хостингу
      PHP 5.3.x, 5.4.x, 5.5.x, 5.6.x, 7.0.x, 7.1.x, 7.2.x ionCube PHP Loader последней версии PHP OpenSSL support PHP mbstring support OpenCart соответствующей версии Что бы проверить настройки Вашего сервера, скачайте архив system_test.zip
      распакуйте, прочитайте файл Readme_RU_UTF-8.txt и следуйте инструкциям.
       
      Информация о лицензии
      Условия использования лицензии - "на домен", это означает, что Вы можете использовать одну лицензию (ключ) для одного магазина на одном домене (один лицензионный ключ = один магазин = одно доменное имя). Для получения лицензии напишите мне здесь в Личные сообщения свой email и доменное имя магазина на котором будет стоять модуль. Ключ лицензии будет отправлен Вам здесь в личные сообщения или выслан Вам на Ваш email. Приобретая лицензию (покупая дополнение), Вы автоматически соглашаетесь со следующими положениями:
      Вы имеете право ознакомиться с работой дополнений (модулей) на демонстрационных страницах этих дополнений (модулей). Все интересующие Вас вопросы, касающиеся работы дополнения (модуля) Вы можете задать автору продукта до его приобретения. Бесплатная техническая поддержка не оказывается пользователям, не купившим дополнение (модуль), получившим его каким-либо другим образом: скопировавшим, скачавшим, приобретшим вскладчину дополнения (модули) представленные в данном каталоге. Таким пользователям будет отказано в бесплатной технической поддержке без объяснения причин. Техническая поддержка оказывается за отдельную плату в случаях, если заявленная работа дополнения (модуля) невозможна по причине конфликтов с другими сторонними дополнениями (модулями), шаблон покупателя значительно отличается от базового шаблона системы ocStore / OpenCart, работа модуля нарушена после действий покупателя которые случились при редактировании файлов дополнения (модуля), пользователь хочет изменить или доработать приобретённое дополнение (модуль). Вы имеете право на бесплатную техническую поддержку продукта со стороны автора, за исключением случаев, описанных в пунктах 3 и 4 данного соглашения. Лицензионный ключ выдается на один домен (на один магазин). Выданный лицензионный ключ возврату или обмену не подлежит. Для использовании дополнения (модуля) на другом домене нужно совершить повторную покупку дополнения (модуля). Все запросы, в том числе и выдача лицензионных ключей, обрабатываются в течение 48 часов с момента поступления. Возможности дополнения (модуля)
      Поддержка нескольких языков; Поддержка мультимагазинов; Четыре настраиваемых ряда для вывода информационных виджетов; Виджет социальных сетей; Виджет способов оплаты; Виджет вывода текстового блока с поддержкой HTML и JavaScript; Виджет списка категорий; Виджет списка производителей; Виджет списка статей; Виджет списка ссылок; Виджет контактов; Готовые иконки социальных сетей и методов оплаты с возможностью добавления своих; Демонстрация
      Демонстрация Magic Footer для OpenCart 2.x  и OpenCart 3.x
      http://opencart.costaslabs.com
      Доступ в панель администратора
      http://opencart.costaslabs.com/admin
      Логин: demo
      Пароль: demo
       
      Демонстрация Magic Footer OC1 для OpenCart 1.5.x
      http://demo.opencartlabs.ru
      Доступ в панель администратора
      http://demo.opencartlabs.ru/admin
      Логин: demo
      Пароль: demo
       
      По вопросам  адаптации под Вашу тему пишите на почту модуля или в Личные сообщения здесь на форуме.
      Добавил costas Добавлено 19.05.2012 Категория Модули Системные требования PHP 5.3.x, 5.4.x, 5.5.x, 5.6.x, 7.x.x;ionCube PHP Loader последней версии;PHP OpenSSL support; Сайт разработчика http://www.opencartlabs.ru Старая цена Метод активации По запросу в ЛС Ioncube Loader Требуется OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1
      1.5.5
      1.5.4.1
      1.5.3.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop  
    • От costas
      Дополнение (модуль) Magic Footer  позволяет позволяет выводить информацию о
      компании, контактах, ссылки на соц. сети и любую другую информацию в подвале (футере)
      интернет магазина.
       
      Magic Footer OC3 (версия модуля 3.0.0.x для OpenCart 3.0.x)
      Версии и сборки с которыми совместим Magic Footer OC3 :
      OpenCart версии 3.0.x - 3.0.2.x ocStore версии 3.0.x - 3.0.2.x Magic Footer OC2 (версия модуля 2.3.0.x для OpenCart 2.x)
      Версии и сборки с которыми совместим Magic Footer OC2 :
      OpenCart версии 2.0.x - 2.3.x ocStore версии 2.1.x - 2.3.x Magic Footer OC1 (версия модуля 2.0.10.x для OpenCart 1.5.x)
      Версии и сборки с которыми совместим Magic Footer OC1 :
      OpenCart версии 1.5.1.3.1 - 1.5.6.4 ocStore версии 1.5.1.3 - 1.5.5.1.2 Версия Magic Footer OC1 имеет отличия от версий OC3 и OC2 (см демо)
       
      Требования к хостингу
      PHP 5.3.x, 5.4.x, 5.5.x, 5.6.x, 7.0.x, 7.1.x, 7.2.x ionCube PHP Loader последней версии PHP OpenSSL support PHP mbstring support OpenCart соответствующей версии Что бы проверить настройки Вашего сервера, скачайте архив system_test.zip
      распакуйте, прочитайте файл Readme_RU_UTF-8.txt и следуйте инструкциям.
       
      Информация о лицензии
      Условия использования лицензии - "на домен", это означает, что Вы можете использовать одну лицензию (ключ) для одного магазина на одном домене (один лицензионный ключ = один магазин = одно доменное имя). Для получения лицензии напишите мне здесь в Личные сообщения свой email и доменное имя магазина на котором будет стоять модуль. Ключ лицензии будет отправлен Вам здесь в личные сообщения или выслан Вам на Ваш email. Приобретая лицензию (покупая дополнение), Вы автоматически соглашаетесь со следующими положениями:
      Вы имеете право ознакомиться с работой дополнений (модулей) на демонстрационных страницах этих дополнений (модулей). Все интересующие Вас вопросы, касающиеся работы дополнения (модуля) Вы можете задать автору продукта до его приобретения. Бесплатная техническая поддержка не оказывается пользователям, не купившим дополнение (модуль), получившим его каким-либо другим образом: скопировавшим, скачавшим, приобретшим вскладчину дополнения (модули) представленные в данном каталоге. Таким пользователям будет отказано в бесплатной технической поддержке без объяснения причин. Техническая поддержка оказывается за отдельную плату в случаях, если заявленная работа дополнения (модуля) невозможна по причине конфликтов с другими сторонними дополнениями (модулями), шаблон покупателя значительно отличается от базового шаблона системы ocStore / OpenCart, работа модуля нарушена после действий покупателя которые случились при редактировании файлов дополнения (модуля), пользователь хочет изменить или доработать приобретённое дополнение (модуль). Вы имеете право на бесплатную техническую поддержку продукта со стороны автора, за исключением случаев, описанных в пунктах 3 и 4 данного соглашения. Лицензионный ключ выдается на один домен (на один магазин). Выданный лицензионный ключ возврату или обмену не подлежит. Для использовании дополнения (модуля) на другом домене нужно совершить повторную покупку дополнения (модуля). Все запросы, в том числе и выдача лицензионных ключей, обрабатываются в течение 48 часов с момента поступления. Возможности дополнения (модуля)
      Поддержка нескольких языков; Поддержка мультимагазинов; Четыре настраиваемых ряда для вывода информационных виджетов; Виджет социальных сетей; Виджет способов оплаты; Виджет вывода текстового блока с поддержкой HTML и JavaScript; Виджет списка категорий; Виджет списка производителей; Виджет списка статей; Виджет списка ссылок; Виджет контактов; Готовые иконки социальных сетей и методов оплаты с возможностью добавления своих; Демонстрация
      Демонстрация Magic Footer для OpenCart 2.x  и OpenCart 3.x
      http://opencart.costaslabs.com
      Доступ в панель администратора
      http://opencart.costaslabs.com/admin
      Логин: demo
      Пароль: demo
       
      Демонстрация Magic Footer OC1 для OpenCart 1.5.x
      http://demo.opencartlabs.ru
      Доступ в панель администратора
      http://demo.opencartlabs.ru/admin
      Логин: demo
      Пароль: demo
       
      По вопросам  адаптации под Вашу тему пишите на почту модуля или в Личные сообщения здесь на форуме.
    • От Maklaosdelay
      300.00 руб
      Скачать/Купить дополнение


      Мультиязычность для локаций магазинов
      Как вы знаете, по стандарту опенкарт не позволяет вам выбирать имя или адрес магазина на разных языках.
      Поэтому, это расширение позволяет вам показывать информацию о магазинах на разных языках (имя магазина, адрес, расписание).
      Это расширение использует ocmod, поэтому вам не нужно загружать файлы на ftp, просто установите через админ панель и используйте.Не забудьте обновить кэш модификаций (Расширения -> Модификации -> refresh).Также вы можете отключить это расширение в (Расширения -> Модификации), если вам нужно по какой-то причине.
       
       
      Установка:
      распаковать multilang_locations.zip  Зайти в панель управления -> Расширения -> Установка расширений -> загрузить -> выберите install.xml с распакованого архива (или multilang_locations.zip если у вас включен фтп в настройках) Перейдите в Расширения -> Модификаторы -> нажмите обновить готово.  
      Если вы добавили локации раньше, нужно будет обновить данные локации (введите имя, адрес, расписание, комментарий на каждом установленном вами языке).
      Добавил Maklaosdelay Добавлено 06.08.2018 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.