Формы
Готовые формы для контакта, расчёта стоимости, бронирования и регистрации. ИИ размещает их одним компонентом — без написания обработчиков отправки — и каждая заявка попадает во входящие вашего приложения.
Формы в Proyecta — это встроенная возможность, а не то, что ИИ пишет вручную. Когда вашему приложению нужен способ получить обращение от посетителя — контактная форма, запрос на расчёт стоимости, запись на приём, регистрация на мероприятие — Proyecta создаёт готовое определение формы и отображает его через специальный блок шаблона. Валидация, состояние успешной отправки, хранение заявок и уведомление владельца предоставляются автоматически.
Пресеты
Заголовок раздела «Пресеты»Каждая форма основана на одном из пяти встроенных пресетов. Опишите нужную форму, и Proyecta подберёт (и адаптирует) подходящий вариант — создавать поля с нуля не нужно.
| Пресет | api id формы (form) |
Для чего | Сочетается с |
|---|---|---|---|
| Contact | contactForm |
Общая форма «связаться с нами»: имя, email, телефон (опционально), сообщение | Информация о компании |
| Quote | quoteForm |
Запрос расчёта стоимости: контактные данные + услуга + детали задачи | Услуги |
| Booking | bookingForm |
Запись на приём: услуга, предпочтительные дата и время, контактные данные | Услуги |
| Registration | registrationForm |
Регистрация на мероприятие или курс (RSVP): данные участника + примечание | Мероприятия |
| Order | orderForm |
Приём заказа: что хочет клиент, контактные данные, примечания | Меню, каталог |
В одном приложении можно использовать несколько форм (например, контактную форму и форму бронирования), а ИИ может добавлять, переименовывать или изменять поля в любой из них.
Как ИИ подключает форму
Заголовок раздела «Как ИИ подключает форму»ИИ никогда не создаёт форму или обработчик отправки вручную. Он добавляет шаблонный компонент <FormBlock/> и указывает на нужную форму по id или api id:
import { FormBlock } from '@/components/blocks/FormBlock';
// Где угодно на публичной странице — секция контактов, панель «запросить расчёт» и т.д.<FormBlock form="contactForm" />;<FormBlock/> делает всё самостоятельно:
- Отображает поля по типу — текст / email / телефон как обычные поля ввода, длинный текст как textarea, выбор вариантов как выпадающий список, согласие как чекбокс, даты и время как нативные пикеры, файловые поля как кнопку «прикрепить файл».
- Валидирует в браузере — обязательные поля проверяются перед отправкой.
- Валидирует на сервере — если сервер отклоняет значение, конкретная ошибка отображается рядом с соответствующим полем (заявки не теряются, сбои не остаются незамеченными).
- Показывает состояние успеха — после отправки форма заменяется дружелюбным подтверждением (с текстом подтверждения самой формы) и возможностью отправить ещё один ответ.
- Безопасно обрабатывает ошибки — если форма не существует или деактивирована, блок не отображает ничего, поэтому публичная страница никогда не сломается.
Поскольку блок является частью шаблона, задача ИИ — только разместить его и оформить окружающую секцию. Вся внутренняя логика уже встроена и работает корректно.
Прикрепление файлов
Заголовок раздела «Прикрепление файлов»Формы могут принимать загруженный файл (чек, фото для примера, бриф). Файловые поля отображают кнопку «прикрепить файл», загружают файл в хранилище и сохраняют его публичный URL в заявке. Ограничения применяются автоматически:
- Только изображения и PDF, размером до 5 МБ (большие изображения масштабируются в браузере перед загрузкой).
- Кнопка отправки заблокирована, пока файл загружается, — заявка никогда не уйдёт незавершённой.
Куда попадают заявки
Заголовок раздела «Куда попадают заявки»Каждая заявка сохраняется и отображается во входящих вашего приложения — в разделе панели администратора, который отображается компонентом шаблона <SubmissionsInbox/>. Там вы (владелец) можете:
- Просматривать заявки на вкладках New / Read / Archived с индикатором непрочитанных на New.
- Открывать любую заявку, чтобы увидеть значения отправленных полей, страницу, с которой она пришла, и дату.
- Отмечать заявку как прочитанную read, возвращать её в new или архивировать.
- Фильтровать входящие по конкретной форме или просматривать заявки всех форм в одном списке.
Входящие доступны только администраторам — читатель должен быть авторизован под учётной записью администратора (проверяется на сервере).
Получение уведомлений на почту о каждой заявке
Заголовок раздела «Получение уведомлений на почту о каждой заявке»Формы могут отправлять вам уведомления по email при каждой новой заявке — включите уведомления для владельца и укажите адрес для их получения. Заявка попадёт в вашу почту без необходимости открывать приложение. Письмо отправляется через возможность email в Proyecta, поэтому никакой дополнительной настройки не требуется.
Распространённые сценарии (пусть ИИ сделает всё сам)
Заголовок раздела «Распространённые сценарии (пусть ИИ сделает всё сам)»"Add a contact form to the footer with name, email, and message, and email me at hello@mybiz.com whenever someone submits.""Put a 'Request a quote' form on each service page that asks which service they need and the job details.""Add a booking form so clients can request an appointment with a preferred date and time.""Create an event registration form for the workshop page and let attendees attach a PDF.""Show me the submissions inbox and only the ones I haven't read yet."
Связанные разделы
Заголовок раздела «Связанные разделы»- Управление контентом — формы находятся рядом с вашими коллекциями в единой контент-модели.
- Панель администратора — место для просмотра заявок.
- Email — как отправляются уведомления владельцу.