|
1 / 1 / 0
Регистрация: 07.07.2017
Сообщений: 22
|
||||||||||||||||
MVC форма заказа23.09.2017, 12:33. Показов 987. Ответов 5
Метки нет (Все метки)
Всем привет! У меня есть интернет магазин, по сути совокупность лендов, человек тыкает на товар и страница с товаром это отдельны ленд с фомрой заказа. Подскажите плз как правильнее организовать обработку и отправку формы заказа. 2 поля всего имя и тел, а и скрытые два поля с айди товара и ценой. И еще после нажатия человека кидает на страницу с завершением заказа. Я пробую так: создаю модель Forma.php, контроллер FormController.php, для страницы завершения заказа создаю представление.
Модель:
0
|
||||||||||||||||
| 23.09.2017, 12:33 | |
|
Ответы с готовыми решениями:
5
Форма заказа + калькулятор
Форма заказа с отправкой на почту |
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 23.09.2017, 21:22 | |
|
Что то я не вижу тут ничего из фреймворка.
Косяков валом: 1) Form::GetFormData. Вы передаете $name, $phone, $products и сразу же задаете им значение false. Логика? ![]() 2) Модель у вас вовсе не модель, а просто свалка из методов. Вообще, модель это целый слой, а не класс. Поэтому не надо стараться запихать все в один класс. 3) Form::GetFormData это явно в контроллере должно быть. 4) Form::SendFormData это можно в отдельный сервис запихать, который будет знать как взаимодействовать с CRM. 5) Модель не должна ничего знать о $_POST и валидации данных пользователя, это забота контроллера. 6) Вместо кучи очевидных комментариев лучше напишите очевидный код. На вашем месте я бы взял фреймворк laravel и прошел весь курс на laracast.
0
|
|
|
1 / 1 / 0
Регистрация: 07.07.2017
Сообщений: 22
|
|
| 25.09.2017, 14:53 [ТС] | |
|
Подскажи пож логику формы заказа тогда. Вот как я вижу это: тогда выходит так что мне модель тут вообще не нужна, а сразу данные принимать напрямую в контроллере, проверять и от туда же отправлять?
0
|
|
|
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
|
||
| 25.09.2017, 19:29 | ||
|
Для отправки в CRM (SendFormData) - обернуть в какой-нить компонент или хелпер, или оставить в контроллере.
GetFormData - ну что-то не очень он выглядит, если он и вправду оправдывает свое выведение в отдельную функцию, то да, а так можно просто в экшене принимать пост-запрос и валидировать его(+ ваши chekPhon-ы). Наверное это лучше провернуть AJAX-ом, да и валидацию тоже выполнить на стороне клиента.
0
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 25.09.2017, 19:30 | |
|
Если весь ваш код это лендос и обработчик формы, то MVC тут вообще не нужен. Надо четко понимать что и зачем вы делаете, а не внедрять всякие модные штуки везде.
Я бы разделил этот код на 3 функции: 1) показ лендоса 2) обработчик формы. 3) отправка данных на CRM.
0
|
|
|
1 / 1 / 0
Регистрация: 07.07.2017
Сообщений: 22
|
|
| 25.09.2017, 19:40 [ТС] | |
|
У меня есть витрина с товарами, каждый товар это отдельный ленд, есть внешняя црм. В дальнейшем я планирую статистику сделать. С большим трудом сделал отображение ленда посредством mvc, чтобы ленд понимал какой товар он представляет чтобы цены проставлять автоматом и тд. Вот теперь затык с формой, а какое вью вообще надо подключать? Может мне просто сделать проверку в контроллере, в котором я отображаю отдельный ленд?
0
|
|
| 25.09.2017, 19:40 | |
|
Помогаю со студенческими работами здесь
6
Форма заказа с загрузкой файла и отправкой на электронную почту Форма заказа Форма заказа Форма заказа
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|