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

Материал из CMS Sitebill Wiki
Перейти к навигации Перейти к поиску
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
 
Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору.
 
Необходимо создать пользовательскую форму заявки для того, что бы пользователь мог передать некоторые данные на обработку администратору.
  
Ингридиенты:
+
'''Ингридиенты:'''<br />
приложение Клиенты (версия 1.0.1)
+
приложение Клиенты (версия 1.0.1)<br />
приложение Статические страницы (версия 1.1.1)
+
приложение Статические страницы (версия 1.1.1)<br />
  
1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.
+
1. Определяемся с системным именем формы заявки. Создавать структуру формы будем через Редактор Форм, поэтому системное имя должны быть уникальным среди имен моделей в Редакторе Форм. Например, создавая форму заявки расчета стоимости недвижимости, назовем модель raschet.<br /><br />
2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.
+
2. В редакторе Форм создаем таблицу с именем raschet. Поскольку данная модель будет служить для организации формы и ее обработки, физически таблицу с таким именем в БД создавать не нужно.<br /><br />
3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.
+
3. Наполняем модель полями. Все действия аналогичны дополнению полями любой другой модели. Стоит лишь учесть, что системные имена полей вполне могут не нести смысловой нагрузки, так как не будут участвовать ни в каких операциях и служат только для разделения полей.<br /><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 /><br />
5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.
+
5. Сформировав модель нашей заявки, нам необходимо прописать ее тип в типах заявок.<br />
Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на рассчет}
+
Для этого в редакторе форм находим модель client и в поле Тип заявки, к уже существующим, добавляем свой тип {raschet~~Заявка на расчет}<br /><br />
6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где
+
6. В принципе форма заявки и минимальны обработчик уже готовы. Вы можете получить к нему доступ по адресу /client/order/raschet/ , где<br />
 
client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент
 
client - значение переменной конфигурации Пространство имен приложения (apps.client.namespace) из настроек приложения Клиент
raschet - имя модели вашей формы заявки
+
raschet - имя модели вашей формы заявки<br />
 
+
Вывод в браузер будет содержать только форму заявки.<br /><br />
Вывод в браузер будет содержать только форму заявки.
+
7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl<br />
7. Мы хотим украсить нашу форму, добавив к ней некий сопроводительный текст. Для этого, в папке вашего шаблона необходимо создать файл с именем client_order_имямоделивашейформы, т.е. в данном случае client_order_raschet.tpl
+
Этот файл должен содержать, в обязательном порядке,<br />
 
 
Этот файл должен содержать, в обязательном порядке,
 
 
<pre>
 
<pre>
 
{$form}
 
{$form}
Строка 30: Строка 28:
 
<h1>Тут мой заголовок к заявке</h1>
 
<h1>Тут мой заголовок к заявке</h1>
 
<p>Тут какой-то текст перед формой</p>
 
<p>Тут какой-то текст перед формой</p>
 +
{literal}
 +
<script type="text/javascript" >
 +
alert('Даже можно JS-код вставлять свой!');
 +
</script>
 +
{/literal}
 +
 
{$form}
 
{$form}
 
<hr />
 
<hr />
 
<p>Тут какой-то текст под горизонталью под формой</p>
 
<p>Тут какой-то текст под горизонталью под формой</p>
 
</pre>
 
</pre>
 +
<br />
 +
8. Добавляем мета-информацию.<br />
 +
Для присоединения к вашей форме некоторой мета-информации используем приложение Статические страницы. Создаем статическую страницу с полем URI client_order_имямоделивашейформы или же client_order_raschet<br />
 +
Для этой страницы указываем ту мета-информацию, которую хотим увидеть вместе с нашей формой заявки и сохраняем.
 +
<br>
 +
<br>
 +
 +
'''Видео-урок по этой теме https://www.youtube.com/watch?v=8kv9LRu_oAw
 +
'''
 +
<br>
 +
9. Данная инструкция позволяет менять внешнее оформление формы, но не затрагивает внутренние элементы самой формы. Если вам нужно переделать и саму форму, тогда смотрите данную инструкцию [[Создание своих шаблонов для форм]]<br>
 +
<br>
 +
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

Текущая версия на 08:18, 19 сентября 2018

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

Ингридиенты:
приложение Клиенты (версия 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