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

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску
Строка 5: Строка 5:
 
приложение Статические страницы (версия 1.1.1)
 
приложение Статические страницы (версия 1.1.1)
  
1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.
+
1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br />
2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.
+
2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br />
3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.
+
3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br />
4. Для формы заявки есть три служебных поля. Это:
+
4. Для формы заявки есть три служебных поля. Это:<br />
fio (Ваше имя) - safe_string поле
+
fio (Ваше имя) - safe_string поле<br />
email (Email) - safe_string поле
+
email (Email) - safe_string поле<br />
phone (телефон) - safe_string поле
+
phone (телефон) - safe_string поле<br />
Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.
+
Эти поля нужны для ведения учета заявок, поэтому даже если вы не зададите их сами в своей модели заявки, они будут добавлены автоматически.<br />
5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.
+
5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br />
Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на рассчет}
+
Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br />
6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где
+
6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br />
 
client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент
 
client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент
raschet - имя модели вашей формы заявки
+
raschet - имя модели вашей формы заявки<br />
 
+
Вывод в браузер будет содержать только форму заявки.<br />
Вывод в браузер будет содержать только форму заявки.
+
7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br />
7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl
+
Этот файл должен содержать, в обязательном порядке,<br />
 
 
Этот файл должен содержать, в обязательном порядке,
 
 
<pre>
 
<pre>
 
{$form}
 
{$form}
Строка 34: Строка 32:
 
<p>Тут какой-то текст под горизонталью под формой</p>
 
<p>Тут какой-то текст под горизонталью под формой</p>
 
</pre>
 
</pre>
 +
8. Добавляем мета-информацию.<br />
 +
Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br />
 +
Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем.

Версия 19:35, 19 декабря 2013

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

Ингридиенты: приложение Клиенты (версия 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>
{$form}
<hr />
<p>Тут какой-то текст под горизонталью под формой</p>

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