Изменения документа Для_разработчиков

Редактировал(а) Михаил Галич 26.11.2024, 12:16

От версии 1.1 >
отредактировано Михаил Галич
на 11.12.2023, 13:49
К версии < 4.1 >
отредактировано Михаил Галич
на 11.12.2023, 13:53
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -6,29 +6,86 @@
6 6  
7 7  2. Вставьте в необходимом месте на своём сайте код:
8 8  
9 -{{{<script type="text/javascript">
10 -// инициализируем виджет с параметрами
11 -WPInit({
9 +{{{<script type="text/javascript"> // инициализируем виджет с параметрами WPInit({ id: 1, width: 400, type: 'modal' }) // сразу откроем его для пользователя WPOpenModal(); // вариант для модального окна // WPOpen(); // вариант для открытия в теле страницы. Используется при инициализации виджета с type: 'instant' // будем следить за состоянием виджета WPChange = function(response) { if (response.status == 'reserved') { // если заказ зарезирвирован, занесём данные из response.data.order_id себе на сайт } if (response.status == 'completed') { // если заказ оплачен, занесём данные из response.data.order_id себе на сайт } } </script>}}}
10 +
11 +
12 +== Функции ==
13 +
14 +=== WPInit({params}) ===
15 +
16 +Функция загрузки виджета с параметризацией, при создании необходимо передать id виджета, который можно найти в Административной панели
17 +
18 +===== Минимальный способ инициализации: =====
19 +
20 +* WPInit({ id: 1 })
21 +
22 +===== Пример передаваемых данных: =====
23 +
24 +Виджет можно инициализировать с различными параметрами, все из них опциональные, кроме id.
25 +
26 +{{{WPInit({
12 12   id: 1,
13 13   width: 400,
29 + height: 600,
14 14   type: 'modal'
15 -})
31 +})}}}
16 16  
17 -// сразу откроем его для пользователя
18 -WPOpenModal(); // вариант для модального окна
19 -// WPOpen(); // вариант для открытия в теле страницы. Используется при инициализации виджета с type: 'instant'
33 +=== WPOpen({params}) ===
20 20  
21 -// будем следить за состоянием виджета
22 -WPChange = function(response) {
23 - if (response.status == 'reserved') {
24 - // если заказ зарезирвирован, занесём данные из response.data.order_id себе на сайт
25 - }
26 - if (response.status == 'completed') {
27 - // если заказ оплачен, занесём данные из response.data.order_id себе на сайт
28 - }
29 -}
30 -</script>}}}
35 +Функция открытия виджета в каком-либо блоке, используется при инициализации виджета с type: 'instant'
31 31  
37 +===== Пример передаваемых данных: =====
32 32  
39 +{{{// показ виджета с группой id 5
40 +WPOpen({
41 + groupid: [5]
42 +})}}}
33 33  
44 +=== WPOpenModal({params}) ===
45 +
46 +Функция открытия виджета в модальном окне, используется при инициализации виджета с type: 'modal'
47 +
48 +===== Пример передаваемых данных: =====
49 +
50 +{{{// показ виджета на нажатие кнопки с id "OpenButton" var OpenButton = document.getElementById('OpenButton'); OpenButton.onclick = function() { WPOpenModal({ tariffsid: [27, 28] }) }}}}
51 +
52 +=== WPChange({status, data}) ===
53 +
54 +Функция, которая вызывается каждый раз при изменении состояния виджета. Каждый раз передаёт в переменной response состояние в status и опционально данные в data. При переопределении этой функции у себя на странице, администратор может следить за состоянием виджета и статусом заказа из javascript
55 +
56 +===== Примеры передаваемых данных: =====
57 +
58 +* { status:'starting' } — виджет в процессе запуска, в этот момент определяется, что он должен в данный момент отображать
59 +* { status:'started' } — виджет на начальном экране, где показывается список услуг для покупки
60 +* { status:'reserved', data: { order_id: 2 } } — виджет находится на стадии забронированного заказ, в data передаётся id
61 +* { status:'completed', data: { order_id: 2 } } — виджет находится на стадии оплаченного заказ, в data передаётся id заказа
62 +
63 +===== Пример работы с данными: =====
64 +
65 +{{{WPChange = function(response) { if (response.status == 'starting') { // действие на внешней странице } if (response.status == 'started') { // действие на внешней странице } if (response.status == 'reserved') { // id зарезервированного заказа: response.data.order_id } if (response.status == 'completed') { // id оплаченного заказа: response.data.order_id } }}}}
66 +
67 +== Параметры ==
68 +
69 +==== Обязательные параметры WPInit ====
70 +
71 +==== id: 1 ====
72 +
73 +id виджета, который можно узнать в Административной панели
74 +
75 +==== Возможные параметры WPInit ====
76 +
77 +==== height: 480 ====
78 +
79 +Высота виджета в пикселях, по умолчанию:
80 +
81 +* 480px, если виджет запущен как type: 'modal'
82 +* 100%, если виджет запущен как type: 'instant'
83 +
84 +==== width: 640 ====
85 +
86 +Ширина виджета в пикселях, по умолчанию:
87 +
88 +* 640px, если виджет запущен как type: 'modal'
89 +* 100%, если виджет запущен как type: 'instant'
90 +
34 34