Установка калькулятора на внешний сайт
- Самый банальный пример итогового скрипта для интеграции:
<div id="container"></div>
<script src="http://demo.pixlpark.ru/api/calc/externalCalc"></script>
<script>
var container = document.getElementById("container");
var params = { materialType: "photos" };
var integrated = new PxpCalcManager(container, params);
</script>
- Калькулятор можно интегрировать на внешний сайт. Для этого необходимо сделать следующее:
1. Создание контейнера
- Cоздать на странице контейнер, в котором позже будет находиться калькулятор.
<div id="integratedCalculator"></div>
- В данном случае это простой контейнер
div
с IdintegratedCalculator
. В будущем в нем будет разметка калькулятора.
2. Загрузка скрипта
- Дальше через тег
<script>
получим необходимый скрипт для инициализации калькулятора. Для этого нужно от сайта на платформе Pixlpark сделать следующий вид запроса через API:
<script src="http://demo.pixlpark.ru/api/calc/externalCalc"></script>
В src
скрипта мы имеем:
- Домен на платформе Pixlpark, однако у вас должен быть один из тех, что вы указали в разделе настройки доменов.
- Путь
/api/calc/externalCalc
, который посылает запрос на сервер для получения скрипта для инициализации калькулятора.
- У данного API-запроса также могут быть параметры:
cssLink
cssLink | |
---|---|
Описание | Загружает на страницу css файл по указанной ссылке |
По умолчанию | common.css |
Необходимость | Необязательный параметр |
Пример использования | <script src="http://demo.pixlpark.ru/api/calc/externalCalc?cssLink=/content/css/cssCalc"></script> |
photolabId
photolabId | |
---|---|
Описание | Загружает калькулятор от конкретного сайта по указанному Id |
По умолчанию | Берется от указанного домена |
Необходимость | Необязательный параметр |
Пример использования | <script src="http://demo.pixlpark.ru/api/calc/externalCalc?photolabId=3264"></script> |
3. Инициализация калькулятора
-
После того как скрипт загружен, необходимо инициализировать калькулятор. Чтобы это сделать, необходимо вызвать функцию PxpCalcManager. Рассмотрим параметры, которые входят в эту функцию:
-
PxpCalcManager
-
Модель, содержащая в себе методы для инициализации калькулятора на странице.
-
Параметры конструктора
element
HTMLElement | |
---|---|
Описание | Контейнер, в который будет заружен калькулятор |
params
ParamsModel | |
---|---|
Описание | Набор параметров для настройки инициализации калькулятора |
- ParamsModel
- Набор параметров для настройки инициализации калькулятора.
- Поля
materialType
Тип переменной | string или number |
---|---|
Описание | Id или UrlName категории (мо жно найти в настройках категории) |
Необходимость | Обязательный параметр |
origin
Тип переменной | string |
---|---|
Описание | Оригинальный домен, на который будет переходить пользователь для оформления заказа |
По умолчанию | Домен от которого загружается скрипт для инициализации (если брать пример выше - то http://demo.pixlpark.ru) |
Необходимость | Необязательный параметр |
apiUrl
Тип переменной | string |
---|---|
Описание | Домен для API запросов (загрузка данных по категориям, товарам, расчет цен и т.п.) |
По умолчанию | Параметр origin |
Необходимость | Необязательный параметр |
material
Тип переменной | string или number |
---|---|
Описание | Id или UrlName товара (можно найти в настройках товара) |
По умолчанию | null |
Необходимость | Необязательный параметр |
config
Тип переменной | string |
---|---|
Описание | Имя конфигурации, задается в настройках калькулятора |
По умолчанию | default |
Необходимость | Необязательный параметр |
languageId
Тип переменной | number |
---|---|
Описание | Id языка сайта |
По умолчанию | Id главного языка сайта из параметра origin |
Необходимость | Необязательный параметр |
isMobile
Тип переменной | boolean |
---|---|
Описание | Возвращает мобильная версия калькулятора или нет |
По умолчанию | false |
Необходимость | Необязательный параметр |
additionalQueryParams
Тип переменной | Словарь { string: string } |
---|---|
Описание | Собственные параметры, которые уйдут в строку запроса при переходе из калькулятора |
По умолчанию | null |
Необходимость | Необязательный параметр |
Примечание | Данный параметр нужен для того, чтобы если вы нажимаете на кнопку заказать на внешнем калькуляторе, ссылка, ведущая на следующую страницу, содержала эти параметры как часть запроса |
- Пример инициализации калькулятора, у которого:
materialType
имеет UrlName 'photos';- выбран товар с Id 123456;
- выбран язык с Id 789456;
additionalQueryParams
содержит два параметра.
<script>
// контейнер для калькулятора
var container = document.getElementById("integratedCalculator");
// параметры для иницилизации
var params = {
materialType: 'photos',
material: 123456,
languageId: 789456,
additionalQueryParams: {
'id_calc_tmp': '45',
'isExternal': 'true'
}
};
// иницилизация
var integratedCalc = new PxpCalcManager(container, params);
</script>
4. Интеграция с 1С
- Код интеграции отдельно для 1С:
<div id="integratedCalculator"></div>
<script src="http://demo.pixlpark.ru/api/poly1c/calculator/external"></script>
<script>
var integrated = {
materialTypeId: 982756,
};
Poly1CCalcManager("integratedCalculator", integrated);
</script>
5. Калькулятор для мерча
- Код интеграции для продукции с готовым дизайном:
<div id="merchCalculator"></div>
<script src="https://demo.pixlpark.ru/api/categories/variant/external"></script>
<script>
var settings = {
merchId: 975,
merchVariantId: 62880,
hidePreview: true,
};
MerchPageManager("merchCalculator", settings);
</script>
merchId
HTMLElement | |
---|---|
Тип переменной | Number |
Описание | Id категории мерча |
Необходимость | Обязательный параметр |
merchVariantId
HTMLElement | |
---|---|
Тип переменной | Number |
Описание | Id дизайна мерча |
Необходимость | Обязательный параметр |
hidePreview
HTMLElement | |
---|---|
Тип переменной | Boolean |
Описание | Параметр, отвечающий за отображение изображения продукта |
По умолчанию | false |
Необходимость | Необязательный параметр |