Как создать пользовательскую форму заявки

Материал из CMS Sitebill Wiki
Перейти к: навигация, поиск

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

Ингридиенты:
приложение Клиенты (версия 1.0.1)
приложение Статические страницы (версия 1.1.1)

1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.

2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.

3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.

4. Для формы заявки есть три служебных поля. Это:
fio (Ваше имя) - safe_string поле
email (Email) - safe_string поле
phone (телефон) - safe_string поле
Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.

5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.
Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}

6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где
client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент raschet - имя модели вашей формы заявки
Вывод в браузер будет содержать только форму заявки.

7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl
Этот файл должен содержать, в обязательном порядке,

{$form}

Все остальное на ваше усмотрение. Например:

<h1>Тут мой заголовок к заявке</h1>
<p>Тут какой-то текст перед формой</p>
{literal}
<script type="text/javascript" >
alert('Даже можно JS-код вставлять свой!');
</script>
{/literal}

{$form}
<hr />
<p>Тут какой-то текст под горизонталью под формой</p>


8. Добавляем мета-информацию.
Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet
Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем.

Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw
9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию Создание своих шаблонов для форм

10. Для формирование вывода списка элементов на сайте со своими шаблонами инструкция на форуме https://www.sitebill.ru/s/topic/3230-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0/?do=findComment&comment=37257