Документация

Описание настроек и возможностей компонента

Компонент предназначен для создания форм расчёта стоимости с отправкой заказа по e-mail и их записью в БД. Количество форм расчёта и их полей не ограничено.

Компонент поддерживает локализацию без ограничения количества языков и настройкой определений для каждого языка прямо в самом компоненте, что делает его настройку более удобной и быстрой, так как не требуется дополнительная настройка локализации в JoomFish.

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

Компонент не имеет предварительно установленного макета отображения форм расчёта, Вы сами создаёте HTML шаблон и подключаете необходимые ява-скрипты в настройках, что позволяет абсолютно точно вписать компонент в дизайн сайта. Если возникнет необходимость в подключении дополнительных ява-скриптов, то их можно загрузить в соответствующей панели управления компонентом.

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

Компонент поддерживает следующие поля форм с соответствующей проверкой их заполнения, если она выбрана в настройках поля:

  • Текст

  • Текстовое поле

  • Список

  • Радио кнопки

  • Чек боксы

  • Календарь

  • URL

  • E-mail

  • Целое число

  • Дробное число

  • Файл (поле для загрузки файла)

  • ColorPicker (поле для выбора цвета)

     

Каждое поле может иметь изображение и его миниатюру. Опции списка, радио кнопок и чек-боксов также могут иметь изображения, миниатюры и описание с функцией показа в определённом месте при их выборе в форме.

Данные заказов записываются в БД и отправляются по e-mail менеджеру и клиенту. Клиент получает копию заполненной формы заказа с уникальной ссылкой для доступа к нему.

В компоненте предусмотрена функция онлайн оплаты заказов с автоматическим пересчётом суммы в валюту платёжной системы и изменением статуса заказа при успешной оплате. Модули оплаты устанавливаются и подключаются в панели управления компонентом.
Каждый метод оплаты имеет настройку наценки, что позволяет определить индивидуальную сумму оплаты для каждого метода. Наценка определяется в валюте оплаты платёжной системы и может умножаться на сумму заказа  или прибавляться к ней. Если необходимо предоставить скидку для какого-либо метода оплаты, то величина наценки указывается отрицательная (например -100 в случае прибавления) или меньше единицы (например, 0.9 в случае умножения).

Процедура оформления и управления заказами

После заполнения формы заказа и его подтверждения, клиент перенаправляется на страницу с отображением полной информации его заказа.

Если в настройках формы калькулятора не указан процент предварительной оплаты или расчётная сумма заказа отсутствует, то заказу присваивается статус «На рассмотрении» и клиенту отправляется письмо с уникальной ссылкой для доступа к нему. Если предоплата не требуется, то менеджер после рассмотрения заказа должен перевести его статус в состояние «Выполняется» (минуя статус «Оформлен»).

Если в настройках формы калькулятора указан процент предварительной оплаты и сумма заказа больше нуля, клиенту дополнительно отображается информация о необходимости выполнения предоплаты с указанием её суммы, а заказу присваивается статус «Оформлен». Если в форме калькулятора не определён метод оплаты, то на этой странице дополнительно предлагается выбор метода оплаты. После подтверждения, клиент перенаправляется на соответствующую платёжную систему. Срок хранения заказов со статусом «Оформлен» определяется в настройках формы калькулятора. Если в течение этого периода клиент не внесёт предоплату, заказ удаляется. Если клиент осуществляет онлайн оплату, статус заказа автоматически меняется на состояние «Предварительно оплачен» и в данные заказа добавляется  информация о методе и сумме оплаты.

Окончательная оплата производится аналогичным образом.

При установке статуса оплаты в состояние «Оформлен» или «Выполнен» клиенту отправляется уведомление о необходимости оплаты с указанием суммы, а на странице заказа клиенту отображается форма для выбора метода оплаты и её активации. Менеджер может менять стоимость заказа, срок его выполнения и процент предварительной оплаты только при статусе заказа «На рассмотрении». Во всех случаях изменения статуса заказа, клиенту отправляется соответствующее уведомление.

Если в настройках формы калькулятора разрешена переписка, то на странице заказа отображается форма для ведения переписки между менеджером и клиентом. Эта переписка может сопровождаться отправкой уведомлений о публикации нового сообщения. Настройки переписки позволяют определить диапазон статуса заказов, в пределах которого переписка активна.

 

Глобальные параметры компонента настраиваются в панели управления и открываются во всплывающем окне при клике по кнопке «Настройки».

ЯЗЫК ПО УМОЛЧАНИЮ – язык, используемый для сохранения и отправки уведомлений менеджеру заказов, а также в случае отсутствия определений JoomFish.

АДМИНИСТРАТОР ЗАКАЗОВ – пользователь, который имеет доступ к списку заказов для изменения их статуса или удаления из базы данных (e-mail учётной записи пользователя не используется в переписке).

ПОЛЕ С ФИО ЗАКАЗЧИКА – выберите поле, информация которого будет использоваться в качестве имени клиента.

ПОЛЕ С АДРЕСОМ ЗАКАЗЧИКА - выберите поле, информация которого будет использоваться в качестве адреса электронной почты клиента.

ПОЛЕ СО СРОКОМ ИСПОЛНЕНИЯ ЗАКАЗА - выберите поле, информация которого будет использоваться в качестве даты выполнения заказа.

ИСПОЛЬЗОВАТЬ ПОЛЕ СО СРОКОМ ВЫПОЛНЕНИЯ – если срок выполнения не определяется в заказах, то отключите эту функцию.

ОСНОВНАЯ БИБЛИОТЕКА – выберите библиотеку, которая будет использоваться для расчёта стоимости и динамического отображения информации в форме заказа.

БИБЛИОТЕКА MOOTOOLS – выберите способ загрузки библиотеки, или отключите загрузку в компоненте, если mootools загружается в шаблоне сайта.

БИБЛИОТЕКА JQUERY – выберите способ загрузки библиотеки, или отключите загрузку в компоненте, если jQuery загружается в шаблоне сайта.

 

При установке, компонент создаёт два языка (Английский и Русский), которые могут быть отредактированы во вкладке "Языки".

Вы можете их редактировать, а также создавать неограниченное количество других языков. Переключение языков на лицевой панели сайта происходит с помощью модуля JoomFish, который должен быть установлен отдельно. Если Вам достаточно иметь только один язык, то удалите все ненужные, оставив только один необходимый.

Внимание: компонент должен иметь как минимум один созданный язык! В случае изменения языков в будущем, при уже созданных полях форм и форм калькуляторов, будет необходимо проверить и заполнить их поля локализации во всех имеемых формах.

Каждый язык имеет следующие параметры:

НАЗВАНИЕ ЯЗЫКА – используется только для идентификации локализации в настройках полей админпанели.

КОД ЯЗЫКА JOOMFISH – идентификатор языка в компоненте JoomFish, который требуется для переключения языков на лицевой панели сайта.

ФАЙЛ ЯЗЫКА – определения локализации для языка (Обратите внимание, что в автоматически созданном файле русской локализации уже содержатся определения, которые необходимы для управления компонентом с лицевой панели и отправки уведомлений по e-mail).

 

Компонент имеет встроенную установку и подключение ява-скриптов в шаблонах форм калькуляторов, которые доступны во вкладке «Скрипты» панели управления.

 

Назначение скриптов:

TOOLTIP – отображение подсказок во всплывающих окнах при наведении курсора (не использует библиотеки MooTools и jQuery);

MOO_SLIMBOX – отображение изображений в лайтбоксе при клике по изображению (использует библиотеку MooTools);

MOO_FORMCHECK – скрипт проверки заполнения формы при отправке (использует библиотеку MooTools);

MOO_DATAPICKER – скрипт выбора даты (использует библиотеку MooTools);

JQUERY_UPLOAD – скрипт аякс загрузки файлов (использует библиотеку jQuery);

JQUERY_FANCYBOX – скрипт лайтбокса (использует библиотеку jQuery);

JQUERY_CALENDAR – скрипт выбора даты (использует библиотеку jQuery);

JQUERY_VALIDATOR – скрипт аякс загрузки файлов (использует библиотеку jQuery);

JQUERY_TOOLTIP – скрипт для всплывающих подсказок (использует библиотеку jQuery);

JQUERY_COLORPICKER – скрипт для выбора цвета (использует библиотеку jQuery);

Скрипты автоматически не устанавливаются и должны быть добавлены в компонент после его установки. Для этого нажмите кнопку «НОВЫЙ» и в открывшемся окне выберите файл скрипта из директории «Scripts» разархивированного установочного пакета компонента.

В настройках каждого скрипта имеется поле для определения его пользовательских параметров. Описание этих параметров будет приведено в соответствующих разделах.

 

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

Применение и подключение скриптов будет описано в отдельном разделе.

 

 

Компонент позволяет создать неограниченное количество валют для расчёта стоимости.

 

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

Принцип калькуляции в следующем:

  • стоимость рассчитывается на основе условных единиц цен, указанных в параметрах полей форм и затем умножается на курс валюты;

  • в случае нескольких валют расчёта, они могут переключаться в форме калькулятора с автоматическим пересчётом стоимости без перезагрузки страницы;

  • при отсутствии в форме расчёта селектора валюты, используется валюта с наименьшим ID.

 

Для создания валюты, нажмите кнопку «НОВЫЙ» и в открывшемся окне установите её параметры:

НАЗВАНИЕ ВАЛЮТЫ – название, отображаемое в поле выбора валюты

ОБОЗНАЧЕНИЕ ВАЛЮТЫ – обозначение валюты, отображаемое возле стоимости в форме расчёта

КУРС ВАЛЮТЫ – курс пересчёта стоимости в зависимости от этой валюты

ПОРЯДОК РАСПОЛОЖЕНИЯ – порядок показа валюты в поле выбора

ОПУБЛИКОВАНО – доступность валюты в формах расчёта

Обратите внимание, что Название и Обозначение валюты имеют параметры локализации и для их заполнения, используйте переключение в панели переключения языков «Выберите язык редактирования».

 

Компонент позволяет подключить неограниченное количество методов оплаты.

Установка и настройка производится в два этапа.

Сначала необходимо установить модуль оплаты, для этого кликните по кнопке «Новый» в панели управления компонентом и заполните все поля:

Название метода оплаты – название, отображаемое в поле выбора оплаты;

Валюта для оплаты – валюта, курс которой используется для расчета суммы оплаты;

Порядок расположения – порядок показа метода оплаты в списке выбора;

Файл платёжной системы – выберите файл платёжной системы для загрузки.

После сохранения, откройте этот метод оплаты для настроек конфигурации:

Вид наценки – стоимость заказа может быть увеличена или уменьшена путём умножения или прибавления указанной величины при формировании суммы платежа;

Размер наценки – величина изменения суммы (в единицах валюты метода оплаты), эта функция позволяет компенсировать расходы при использовании определённых платёжных систем или наоборот предоставлять скидки клиентам. Например, если выбрать метод умножения и указать размер наценки 0.9, то клиент получит скидку 10% при использовании данного метода. Если выбрать метод прибавления и указать размер наценки -100 при выбранной валюте платежа «Рубль», то клиент получит скидку в 100 рублей. Разделитель дробной части – точка. При расчёте производится округление суммы с точностью до двух десятичных знаков.

Все остальные поля индивидуальны для каждого метода оплаты:

Дополнительные поля Webmoney:

  • Номер кошелька – номер кошелька, который подключается к данному методу оплаты;

  • Секретное слово – секретное слово для проверки источника подтверждения платёжной операции, указанное в настройках кошелька WebMoney.

Дополнительные поля Robokassa:

  • Логин – номер кошелька, который подключается к данному методу оплаты;

  • Паспорт 1 – пароль инициализации платежа;

  • Паспорт 2 – пароль для проверки статуса платёжной операции.

Дополнительные поля Яндекс-деньги:

  • ShopID – идентификатор магазина;

  • Scid – пароль магазина.

 

Компонент позволяет создать неограниченное количество полей для формы расчёта и заказа. Каждое поле может быть использовано в любой форме калькулятора.

Поля классифицируются на два типа:

  • калькулятор (эти поля могут использоваться в расчёте стоимости);

  • форма заказа (эти поля могут использоваться в форме для сбора всех необходимых сведений для выполнения заказа).

     

В перечне форм имеется фильтр для отображения полей определённого типа, компонент поддерживает следующие виды полей:

  • текст

  • текстовое поле

  • выпадающий список

  • радио кнопки

  • чек-боксы

  • календарь

  • URL

  • e-mail

  • целое число

  • дробное число

  • файл (загрузка файла)

  • colorpicker (поле для выбора цвета)

 

Обратите внимание, что для использования поля в формах калькулятора оно должно быть опубликовано, а порядок показа влияет на место этого поля в сообщениях, отправляемых по e-mail и формах заказов, записываемых в базу данных.

При отправке сообщений по e-mail и записи заказов в базу данных, все поля форм автоматически разделяются на две группы (форма заказа и калькулятор стоимости), чтобы выделить информацию, влияющую на стоимость заказа.

Для создания нового поля нажмите на кнопку «Новый» и заполните поля формы.

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

 

Настройки поля:

ТИП ПОЛЯ – выберите тип поля, в качестве которого оно будет использоваться (калькулятор – используется для расчёта стоимости, форма заказа – используется для сбора необходимых данных и не учитывается в расчёте стоимости).

 

ВИД ПОЛЯ – выберите вид ввода или выбора данных для данного поля.

 

ЗАГОЛОВОК ФОРМЫ – название поля, используемое для его идентификации в админпанели.

 

ОБЯЗАТЕЛЬНОЕ ПОЛЕ – если поле обязательно и требуется для заполнения или выбора опции, установите  значение «Да», проверка будет осуществляться автоматически в зависимости от его вида, если в форме калькулятора будет подключен ява-скрипт проверки формы.

 

ОПУБЛИКОВАНО – установите значение «Да» для возможности его использования в формах расчёта.

 

Настройка изображений:

ШИРИНА ИЗОБРАЖЕНИЯ ПОЛЯ* – значение ширины изображения в пикселях, например 680.

 

ВЫСОТА ИЗОБРАЖЕНИЯ ПОЛЯ* – значение высоты изображения в пикселях, например 460.

 

ШИРИНА МИНИАТЮРЫ ПОЛЯ* – значение ширины изображения миниатюры в пикселях, например 680.

 

ВЫСОТА МИНИАТЮРЫ ПОЛЯ* – значение высоты миниатюры изображения в пикселях, например 460.

 

Настройка изображений опций (применяется для полей списка, радиокнопок и чек-боксов)

 

ШИРИНА ИЗОБРАЖЕНИЯ ОПЦИИ* – значение ширины изображения в пикселях, например 680.

 

ВЫСОТА ИЗОБРАЖЕНИЯ ОПЦИИ* – значение высоты изображения в пикселях, например 460.

 

ШИРИНА МИНИАТЮРЫ ОПЦИИ* – значение ширины изображения миниатюры в пикселях, например 680.

 

ВЫСОТА МИНИАТЮРЫ ОПЦИИ* – значение высоты миниатюры изображения в пикселях, например 460.

 

* Можно указать только одно значение для сохранения пропорций размеров изображения опции, например, только высоту.
Изображения сохраняются только после первого сохранения нового поля!

 

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

 

Описание поля:

ЗАГОЛОВОК ПОЛЯ* – метка поля в форме калькулятора с учётом локализации.

 

ОПИСАНИЕ ПОЛЯ* –  описание поля в форме калькулятора с учётом локализации.

 

ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ* –  значение поля по умолчанию при загрузке формы калькулятора.

 

ИЗОБРАЖЕНИЕ ПОЛЯ – выберите изображение поля если необходимо (загрузка доступна после первого сохранения поля).

 

Чтобы заменить существующее изображение, выберите новое и сохраните форму.

 

Чтобы удалить изображение поля, отметьте чек-бокс «удалить изображение».

 

* для переключения локализации используйте верхнюю панель переключения языка.

 

Настройка загрузки файлов для поля «Файл»:

МАКСИМАЛЬНЫЙ РАЗМЕР ФАЙЛА В БАЙТАХ – ограничение на загрузку файлов большого размера.

МИНИМАЛЬНЫЙ РАЗМЕР ФАЙЛА В БАЙТАХ – ограничение на загрузку файлов маленького размера.

ДОПУСТИМЫЕ РАСШИРЕНИЯ ФАЙЛОВ, РАЗДЕЛЁННЫЕ ВЕРТИКАЛЬНОЙ ЧЕРТОЙ – ограничение на загрузку файлов по типу их расширения, например jpg|png|gif.

МУЛЬТИЗАГРУЗКА НА AJAX – загрузка файлов в форму заказа без перезагрузки страницы с проверкой их параметров и показом миниатюр загруженных изображений (требуется подключение скрипта jQuery_upload в форме калькулятора).

ОТПРАВЛЯТЬ ФАЙЛ ПО E-MAIL – можно отключить отправку файлов с этого поля, в этом случае файлы будут доступны только при просмотре заказов на сайте, рекомендуется при возможности загрузки файла большого размера.

МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ФАЙЛОВ – максимально допустимое количество файлов для загрузки в этом поле.

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

 

Настройка опций для списка, радио кнопок и чек-боксов:

АРТИКУЛ – номер опции по каталогу.

 

ЦЕНА – стоимость опции в условных единицах, которая будет умножена на курс валюты при её выборе.

 

НАЗВАНИЕ И ОПИСАНИЕ – заголовок и описание опции, отображаемый с учётом выбранной локализации лицевой панели сайта.

 

ИЗОБРАЖЕНИЕ ОПЦИИ – выберите изображение опции, основное изображение и его миниатюра автоматически создаются при сохранении поля с учётом настроек поля. Для удаления изображения, отметьте соответствующий чек-бокс. Для замены изображения – выберите новое с помощью кнопки «Обзор».

Количество опций не ограничено, для добавления новой опции - нажмите кнопу «Добавить опцию», для удаления опции – очистите поле заголовка (вместе с опцией будут удалены и её, сохранённые ранее, изображения).

 

 

Вы можете создать неограниченное количество форм расчёта на основе созданных полей форм.

Каждая форма имеет свой шаблон отображения, подключаемые ява-скрипты и формулу расчёта.

Для создания формы, нажмите кнопку «Новый»:

В открывшемся окне введите заголовок формы и сохраните её, это необходимо для присвоения калькулятору уникального идентификатора.

При первом сохранении формы создаётся шаблон формы калькулятора, файл стилей и файлы калькуляторов стоимости.

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

 

Настройки формы:

НАЗВАНИЕ – используется для идентификации в базе данных и формах заказа.

ПОРЯДОК РАСПОЛОЖЕНИЯ – порядок расположения формы калькулятора в списке.

ОПУБЛИКОВАНО – доступность формы для отображения на лицевой панели сайта при создании пункта меню.

ДАТА НАЧАЛА ПУБЛИКАЦИИ – чтобы не использовать функцию контроля начала публикации введите значение 0000-00-00 или оставьте поле пустым.

ДАТА ОКОНЧАНИЯ ПУБЛИКАЦИИ – чтобы не использовать функцию контроля окончания публикации введите значение 0000-00-00 или оставьте поле пустым.

УВЕДОМЛЕНИЕ ДО НАЧАЛА ПУБЛИКАЦИИ – сообщение, отображаемое клиенту до начала срока публикации.

УВЕДОМЛЕНИЕ ПОСЛЕ ОКОНЧАНИЯ ПУБЛИКАЦИИ – сообщение, отображаемое клиенту после окончания срока публикации.

ПОЛЕ, ПЕРЕКЛЮЧАЮЩЕЕ МЕТОДЫ ОПЛАТЫ – выберите поле, которое будет использоваться для выбора метода оплаты. Порядок опций этого поля должен соответствовать порядку методов оплаты. Использование этого поля позволяет оформить выбор оплаты в виде списка или радиокнопок.

ТРЕБУЕМАЯ ПРЕДОПЛАТА В ПРОЦЕНТАХ – если для выполнения заказа требуется предоплата, укажите здесь её процент от общей стоимости. В этом случае, сразу после оформления заказа,  клиенту будет предложено выполнить предварительную оплату. Если рассчитываемая стоимость заказа ориентировочная, то не используйте эту функцию (0 или пустое поле). Менеджер всегда может уточнить срок выполнения, стоимость заказа и процент предоплаты с автоматическим уведомлением клиента о необходимости проведения предоплаты.

СРОК ХРАНЕНИЯ НЕОПЛАЧЕННЫХ ЗАКАЗОВ – срок хранения заказов со статусом «Оформлен», находящихся в ожидании предварительной оплаты (пустое поле или 0, чтобы не использовать эту функцию).

СРОК ХРАНЕНИЯ ВЫПОЛНЕННЫХ ЗАКАЗОВ – срок хранения выполненных и полностью оплаченных заказов со статусом «Отправлен» (пустое поле или 0, чтобы не использовать эту функцию).

 

Панель настройки уведомлений:

E-MAIL МЕНЕДЖЕРА - адрес электронной почты, на который отправляются заказы.

ОТПРАВЛЯТЬ ЗАКАЗЫ МЕНЕДЖЕРУ - выберите, отправлять заказы менеджеру по почте или нет.

ОТПРАВЛЯТЬ КОПИЮ ЗАКАЗА КЛИЕНТУ - выберите, отправлять копии заказов клиенту по почте или нет.

ОТПРАВЛЯТЬ УВЕДОМЛЕНИЯ КЛИЕНТУ - выберите, отправлять клиенту уведомления об изменении статуса заказа или нет.

 

Панель настройки переписки:

ВЕСТИ ПЕРЕПИСКУ – переписку можно отключить, вести с отправкой по e-mail уведомлений о размещении новых сообщений или с отправкой по e-mail полных сообщений.

МИНИМАЛЬНЫЙ СТАТУС ЗАКАЗА – выберите минимальный статус заказа для ведения переписки, при меньшем уровне статуса, форма отправки сообщений отключается.

МАКСИМАЛЬНЫЙ СТАТУС ЗАКАЗА - выберите максимальный статус заказа для ведения переписки, при большем уровне статуса, форма отправки сообщений отключается.

РАЗРЕШИТЬ ВЛОЖЕНИЕ ФАЙЛОВ – можно разрешить добавление файлов при ведении переписки, эта опция определяет возможность вложения, как для менеджера, так и для клиента.

ДОПУСТИМЫЕ РАСШИРЕНИЯ ФАЙЛОВ – список расширений файлов, которые допускаются к загрузке, разделённые вертикальной чертой “|”.

МИНИМАЛЬНЫЙ РАЗМЕР ФАЙЛА – минимально допустимый размер загружаемого файла в байтах.

МАКСИМАЛЬНЫЙ РАЗМЕР ФАЙЛА – максимально допустимый размер загружаемого файла в байтах.

МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ФАЙЛОВ В СООБЩЕНИИ – максимальное количество файлов, которые можно прикрепить к сообщению.

МАКСИМАЛЬНОЕ КОЛИЧЕСТВО ФАЙЛОВ В ПЕРЕПИСКЕ – максимальное количество файлов, которые можно прикрепить к сообщениям в одном заказе.

В случае если файл загружен, то выводится сообщение об успешной загрузке.

В случае если файл не загружен по причине несоответствия размера или его расширения, то выводится соответствующее сообщение об ошибке.

 

Чтобы добавить на сайт страницу с формой заказа, создайте пункт меню «Order Form Builder - Форма калькулятора» со следующими настройками:

Язык по умолчанию - язык, на котором будет показана форма в случае отсутствия определения JoomFish на странице компонента
ID формы калькулятора – номер формы калькулятора, который будет использоваться в этом пункте меню.

 

Шаблон формы калькулятора будет доступен после первого сохранения формы калькулятора и содержит окно для настройки стилей шаблона.

Определите все необходимые стили шаблона, файл стилей автоматически создаётся при наличии кода и удаляется при его отсутствии.

Обратите внимание, что для скрытия и отображения изображений или описания выбранных опций, должны быть определены классы .hidden {display: none;} и .visible {display: block;}

Перечень тегов, их идентификаторов и классов, используемых при генерации шаблона:

<div id="price"> Итоговая стоимость расчёта </div>

<div id="currency"> Обозначение валюты расчёта </div>

<img id="selimageid" src="/…" alt="…"/> Изображение выбранной опции, где id номер поля с выбором опций (список, радио кнопки или чек боксы), а option – порядковый номер выбранной в данный момент опции

Каждое поле для ввода или выбора данных заключается в DIV:

<div>Поле ввода или выбора данных</div>, где id номер поля

Каждая группа радиокнопок и чек-боксов дополнительно заключается в DIV с классом fieldcontainerid, где id номер поля.

Каждое поле для ввода или выбора имеет свой идентификатор и класс содержащий номер поля, что позволяет настроить стили индивидуально для каждого поля:

id="fieldid", например <input name="field1" type="text" id="field1"/>

Каждый тип поля ввода или выбора данных имеет соответствующий класс, что позволяет глобально определить стили для всех полей одного типа:

  • text для input type="text" и textarea;

  • select для выпадающего списка;

  • radio для радио кнопок;

  • check для чек-боксов;

  • calendar для календаря;

  • link для поля с URL;

  • email для поля с E-mail;

  • integer для поля с целым числом;

  • number для поля с дробным числом.

 

Для каждой опции радио кнопок в шаблоне генерируются DIV со следующими классами:

radioimg        fieldimgid – для изображения каждой опции, где id это номер поля

radiothumb        fieldthumbid – для миниатюры изображения каждой опции, где id это номер поля

radiobox        fieldimgboxid – для миниатюры изображения каждой опции с показом полного изображения в лайтбоксе, где id это номер поля

radiocat        fieldcatid – для артикула каждой опции, где id это номер поля

radioval        fieldvalid – для значения каждой опции, где id это номер поля

radiofield        fieldradioid – для кнопки каждой опции, где id это номер поля

Для каждой опции чек боксов в шаблоне генерируются DIV со следующими классами:

checkimg        fieldimgid – для изображения каждой опции, где id это номер поля

checkthumb        fieldthumbid – для миниатюры изображения каждой опции, где id это номер поля

checkbox        fieldimgboxid – для миниатюры изображения каждой опции с показом полного изображения в лайтбоксе, где id это номер поля

checkcat        fieldcatid – для артикула каждой опции, где id это номер поля

checkval        fieldvalid – для значения каждой опции, где id это номер поля

checkfield        fieldradioid – для кнопки каждой опции, где id это номер поля

 

HTML шаблон настраивается в отдельном окне формы калькулятора и доступен после первого сохранения формы.

Здесь необходимо ввести HTML код шаблона отображения формы калькулятора.

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

 

Доступные теги (при сохранении формы они будут заменены на соответствующие коды отображения):

{lang}Текст{/lang} – текст с учётом отображаемой локализации. Этот текст должен быть определён в файле каждого языка. Например: код в шаблоне {lang}Calculator{/lang}, определение в файле локализации CALCULATOR=Калькулятор.

{price} –  отобразит поле со стоимостью заказа

{curr_sign} – отобразит обозначение текущей валюты с учётом локализации. Например: руб.

{cur_select} – отобразит выпадающий список для выбора расчётной валюты

{send} – отобразит кнопку для отправки формы

{reset} – отобразит кнопку для сброса значений формы

{title}id{/title} – отобразит заголовок поля формы, где id это номер поля

{desc}id{/desc} – отобразит описание поля формы, где id это номер поля

{image}id{/image} – отобразит полное изображение поля формы, где id это номер поля

{thumb}id{/thumb} – отобразит миниатюру изображения поля формы, где id это номер поля;

{tip%TIPFIELD%tip}PARAMETER{/tip} – отобразит параметр поля формы с подсказкой, где TIPFIELD это параметр подсказки, например

{desc}7{/desc}, а PARAMETER это отображаемый параметр, например {title}7{/title}, в итоге получится следующий код {tip%{desc}7{/desc}%tip}{title}7{/title}{/tip}

{box%id%box}PARAMETER{/box} – отобразит параметр поля с его изображением во всплывающем окне при клике, где id – номер поля, изображение которого будет показано, а PARAMETER это отображаемый параметр, например {title}7{/title}, в итоге получится следующий код {box%7%box}{title}7{/title}{/box}

{form%SETTINGS%form}id{/form} – форма для ввода или выбора данных при заполнении поля, где id это номер поля

 

Для каждого вида поля необходимо ввести следующие параметры настройки их отображения вместо SETTINGS:

Текст, Календарь, URL, E-mail, Целое число, Дробное число, Файл, ColorPicker – размер ширины поля в пикселях, например: {form%32%form}7{/form} (32 знакоместа)

Текстовое поле – количество колонок и строк, разделённых запятой, например: {form%50,5%form}7{/form} (50 колонок и 5 строк)

Список – количество видимых опций в списке, например {form%1%form}7{/form} (одна видимая опция с выпадающим списком)

Радио кнопки и чек-боксы - отображаемые параметры опций поля, разделённые запятой, в указанном порядке:

  • cat - артикул опции,

  • thumb - миниатюра изображения опции,

  • img - изображение опции,

  • imgbox - миниатюра изображения опции с показом полного изображения во всплывающем окне,

  • val - значение опции,

  • desc – описание опции,

  • field - поле для выбора данных.

 

Например: {form% imgbox,field,val%form}7{/form} (показываются миниатюры изображений с полным изображением в лайтбоксе при клике, кнопки для выбора и текстовые определения значений опций)

{selimage%id%selimage} – изображение выбранной опции, например {selimage%7%selimage} (в этом месте будет показано изображение выбранной опции поля с номером 7)

{selthumbimage%id%selthumbimage} – миниатюра изображения выбранной опции, например {selthumbimage%7%selthumbimage} (в этом месте будет показана миниатюра изображения выбранной опции поля с номером 7)

{seldesc%id%seldesc} – описание выбранной опции, например { seldesc %7% seldesc } (в этом месте будет показано описание выбранной опции поля с номером 7)

{cond%SETTINGS%cond} – условие показа и скрытия полей (работает со списком и радиокнопками), вместо SETTINGS нужно указать условие.

 

Формат условий при использовании Mootools в качестве основной библиотеки:

id;opt,opt,opt:id,id,id, где id – номер влияющего поля (выбор его опций влияет на показ и скрытие других полей), opt – номера опций влияющего поля, при выборе которых показываются зависимые поля (количество опций не ограничено), id,id,id – номера зависимых полей, которые будут показаны при указанных ранее опций и скрываться при выборе всех остальных (количество зависимых полей не ограничено).

Например {cond%7;2,4:8,9,15%cond} (При выборе опций с номерами 2 и 4 у поля с id равным 7, будут показаны поля с id равными 8, 9 и 15. При выборе опций с  номерами отличными от 2 и 4, поля с id равными 8, 9 и 15 будут скрыты).

 

Формат условий при использовании jQuery в качестве основной библиотеки:

Id!opt,opt,opt;id,id,id: opt,opt,opt;id,id,id, где id – номер влияющего поля (выбор его опций влияет на показ и скрытие других полей), opt – номера опций влияющего поля, при выборе которых показываются зависимые поля (количество опций не ограничено), id,id,id – номера зависимых полей, которые будут показаны при указанных ранее опций и скрываться при выборе всех остальных (количество зависимых полей не ограничено).

Например {cond%6!0,1,2;2,4:3;2,4,11%cond} (При выборе опций с номерами 0, 1 и 2 у поля с id равным 6, будут показаны поля с id равными 2 и 4. При выборе опции с номером 3 будут показаны поля с id равными 2, 4 и 11. При выборе опций с номерами отличными от 0, 1, 2 и 3, поля с id равными 2, 4 и 11 будут скрыты).

Для показа и скрытия, необходимая область кода должна быть помещена в тег с классом fieldcondID, где ID – номер скрываемого и показываемого поля. А в файле стилей прописать класс .hidefield {display: none}. Таким образом при определённом выборе селектора, к тегу с классом fieldcondID будет добавляться и исключаться класс hidefield.

 

Формула расчёта составляется из тегов {fieldid}, где id – номер поля.

Пробелы между тегами и функциями не ставятся.

Все доступные теги (созданные поля форм с типом «калькулятор») отображаются с правой стороны.

Итоговая стоимость заказа округляется с точностью до сотых долей. В формуле можно использовать php функции.

 

Пример формулы для предоставления скидки 10% в диапазоне от 300 до 1000 изделий и 20% в диапазоне от 1000 до 5000 изделий:

{field1}*(1-0.1*({field5}›300 AND {field5}‹=1000))-0.2*({field5}›1000 AND {field5}‹=5000)).

Где:

  • field5 – поле с количеством;

  • field1 – поле со стоимостью одного изделия.

     

Пример формулы для линейной зависимости: (1-min({field5}*0.1,0.5)).

Где:

  • field5 – поле с количеством;

  • 0.1    – увеличение скидки на 10% для единицы изделия;

  • 0.5 – размер максимальной скидки 50%.

     

Пример формулы для скидки по диапазону количества (увеличение скидки при увеличении количества на определённую величину):

(1-min(floor({field5}/50)*0.1,0.5)).

Где:

  • 0.1 это величина скидки (10%);

  • 0.5 это максимальная скидка (50%);

  • field5 это поле с количеством товара;

  • 50 это диапазон количества, по которому производится увеличение скидки.

     

Пример формулы расчёта стоимости окна:

(({field6}*{field9}*{field10}/1000000)+({field7}*{field11}*{field13}/1000000)+({field8}*{field12}*{field13}/1000000))*{field14}

 

Переписка по заказам, запись сообщений в базу данных и их отправка по e-mail:

В административной панели доступен только просмотр списка сообщений, каждое сообщение имеет ссылку на номер заказа для его просмотра:

Для доступа менеджера к списку сообщений с лицевой панели, необходимо создать пункт меню «Order Form Builder - Сообщения».

На этой странице, менеджер может просмотреть список сообщений и перейти в необходимый заказ для публикации нового.

Статус сообщений меняется автоматически при открытии страницы соответствующего заказа менеджером.

Фильтр позволяет выбрать сообщения по автору (менеджер или клиент), статусу (новое или прочитанное) и номеру заказа.

В самом заказе, панель сообщений отображается под его содержанием.

Если в настройках формы калькулятора определён диапазон статуса заказа для ведения переписки, то форма добавления нового сообщения отображается только в разрешённом диапазоне.

Вся переписка может сопровождаться отправкой уведомлений или полных сообщений менеджеру и клиенту по e-mail, что определяется в настройках формы калькулятора.

В случае прикрепления файлов к сообщениям, ссылки на них отображают в соответствующем сообщении.

 

Запись заказов в базу данных и их отправка по e-mail:

В админпанели компонента можно применять фильтр заказов по их статусу, произвольной информации в форме заказа и по имени клиента.

Функция уведомления клиентов об изменении статуса заказа в админпанели не работает!

Для доступа менеджера и авторизованных на сайте клиентов к списку заказов с лицевой панели, необходимо создать пункт меню «Order Form Builder - Заказы» с доступом только для зарегистрированных пользователей.

На этой странице менеджер сможет просматривать список всех заказов, а авторизованные клиенты – только свои.

Фильтр позволяет выбрать из списка заказ по номеру или группу заказов по их статусу. Менеджеру дополнительно доступна функция удаления заказов (правый столбец таблицы). При клике по номеру заказа или по ссылке «Удалить», открывается страница с подробным содержанием заказа. Если переход сделан по ссылке удаления, то менеджер должен подтвердить это на странице заказа.

 

Если заказу присвоен статус «На рассмотрении», менеджер может изменить его стоимость, срок выполнения и процент предварительной оплаты.

Во всех случаях изменения статуса заказа, клиенту отправляется уведомление по e-mail.

Предварительная оплата требуется у клиента только при установке статуса «Оформлен», в этом случае в уведомление клиенту дополнительно включается информация о необходимости предоплаты с указанием её суммы в расчётной валюте заказа.

После выполнения онлайн оплаты клиентом, в заказ добавляется информация о методе последней оплаты и суммы платежа с автоматическим изменением статуса заказа.