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

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

<
От версии < 35.1 >
отредактировано Михаил Галич
на 14.12.2023, 15:26
К версии < 66.1 >
отредактировано Михаил Галич
на 26.11.2024, 12:15
>
Изменить комментарий: feat: https://redmine.moipass.ru/issues/13778

Комментарий

Подробности

Свойства страницы
Название
... ... @@ -1,1 +1,1 @@
1 -Для разработчиков
1 +Для_разработчиков
Содержимое
... ... @@ -9,6 +9,7 @@
9 9  2. Вставьте в необходимом месте на своём сайте код:
10 10  
11 11  {{code language="html"}}
12 +
12 12  <script type="text/javascript">
13 13  // инициализируем виджет с параметрами
14 14  WPInit({
... ... @@ -31,11 +31,12 @@
31 31   }
32 32  }
33 33  </script>
35 +
34 34  {{/code}}
35 35  
36 36  = Функции =
37 37  
38 -== WPInit({params}) ==
40 +== WPInit ==
39 39  
40 40  (% class="box infomessage" %)
41 41  (((
... ... @@ -57,14 +57,14 @@
57 57  
58 58  {{code language="javascript"}}
59 59  WPInit({
60 - id: 1,
61 - width: 400,
62 - height: 600,
63 - type: 'modal'
62 +id: 1,
63 +width: 400,
64 +height: 600,
65 +type: 'modal'
64 64  })
65 65  {{/code}}
66 66  
67 -== WPOpen({params}) ==
69 +== WPOpen ==
68 68  
69 69  (% class="box infomessage" %)
70 70  (((
... ... @@ -76,11 +76,11 @@
76 76  {{code language="javascript"}}
77 77  // показ виджета с группой id 5
78 78  WPOpen({
79 - groupid: [5]
81 +groupid: [5]
80 80  })
81 81  {{/code}}
82 82  
83 -== WPOpenModal({params}) ==
85 +== WPOpenModal ==
84 84  
85 85  (% class="box infomessage" %)
86 86  (((
... ... @@ -93,23 +93,25 @@
93 93  // показ виджета на нажатие кнопки с id "OpenButton"
94 94  var OpenButton = document.getElementById('OpenButton');
95 95  OpenButton.onclick = function () {
96 - WPOpenModal({ tariffsid: [27, 28] });
98 +WPOpenModal({ tariffsid: [27, 28] });
97 97  };
98 98  {{/code}}
99 99  
100 -== WPChange({status, data}) ==
102 +== WPChange ==
101 101  
102 102  (% class="box infomessage" %)
103 103  (((
104 -Функция, которая вызывается каждый раз при изменении состояния виджета. Каждый раз передаёт в переменной response состояние в status и опционально данные в data. При переопределении этой функции у себя на странице, администратор может следить за состоянием виджета и статусом заказа из javascript
106 +Функция, которая вызывается каждый раз при изменении состояния виджета.
107 +Каждый раз передаёт в переменной response состояние в **##status##** и опционально данные в **##data##**.
108 +При переопределении этой функции у себя на странице, администратор может следить за состоянием виджета и статусом заказа из javascript
105 105  )))
106 106  
107 107  ===== Примеры передаваемых данных: =====
108 108  
109 -* ##{ status:'starting' }## — виджет в процессе запуска, в этот момент определяется, что он должен в данный момент отображать
110 -* ##{ status:'started' }## — виджет на начальном экране, где показывается список услуг для покупки
111 -* ##{ status:'reserved', data: { order_id: 2 } }## — виджет находится на стадии забронированного заказ, в data передаётся id
112 -* ##{ status:'completed', data: { order_id: 2 } }## — виджет находится на стадии оплаченного заказ, в data передаётся id заказа
113 +- ##{ status:'starting' }## — виджет в процессе запуска, в этот момент определяется, что он должен в данный момент отображать
114 +- ##{ status:'started' }## — виджет на начальном экране, где показывается список услуг для покупки
115 +- ##{ status:'reserved', data: { order_id: 2 } }## — виджет находится на стадии забронированного заказ, в data передаётся id
116 +- ##{ status:'completed', data: { order_id: 2 } }## — виджет находится на стадии оплаченного заказ, в data передаётся id заказа
113 113  
114 114  ===== Пример работы с данными: =====
115 115  
... ... @@ -147,28 +147,24 @@
147 147  
148 148  ==== height ====
149 149  
150 -Тип данных:## //number //##//|## boolean##//
154 +Тип данных:## //number//##
151 151  
152 -По умолчанию:##// false//##
153 -
154 154  (% class="box infomessage" %)
155 155  (((
156 156  Высота виджета в пикселях, по умолчанию:
157 - • 480px, если виджет запущен как type: 'modal'
158 - • 100%, если виджет запущен как type: 'instant'
159 +• 480px, если виджет запущен как type: 'modal'
160 +• 100%, если виджет запущен как type: 'instant'
159 159  )))
160 160  
161 161  ==== width ====
162 162  
163 -Тип данных:## //number //##//|## boolean##//
165 +Тип данных:## //number//##
164 164  
165 -По умолчанию:##// false//##
166 -
167 167  (% class="box infomessage" %)
168 168  (((
169 169  Ширина виджета в пикселях, по умолчанию:
170 - • 640px, если виджет запущен как type: 'modal'
171 - • 100%, если виджет запущен как type: 'instant'
170 +• 640px, если виджет запущен как type: 'modal'
171 +• 100%, если виджет запущен как type: 'instant'
172 172  )))
173 173  
174 174  ==== type ====
... ... @@ -180,16 +180,14 @@
180 180  (% class="box infomessage" %)
181 181  (((
182 182  Способ открытия виджета
183 - • 'instant' Открытие виджета на месте, где был вызов виджета (на месте тэга script), либо в блоке place, если он указан в параметрах виджета при инициализации
184 - • 'modal' Открытие виджета в модальном окне
183 +• 'instant' Открытие виджета на месте, где был вызов виджета (на месте тэга script), либо в блоке place, если он указан в параметрах виджета при инициализации
184 +• 'modal' Открытие виджета в модальном окне
185 185  )))
186 186  
187 187  ==== place ====
188 188  
189 -Тип данных:## //string //##//|## boolean##//
189 +Тип данных:## //string//##
190 190  
191 -По умолчанию:##// false//##
192 -
193 193  (% class="box infomessage" %)
194 194  (((
195 195  Идентификатор элемента DOM, в который необходимо поместить виджет, например: **###widget##**. Используется совместно с **##type: 'instant'##**
... ... @@ -204,9 +204,9 @@
204 204  
205 205  == Возможные параметры WPOpen и WPOpenModal ==
206 206  
207 -=== Календарь и даты ===
205 +=== Инструкторские занятия ===
208 208  
209 -==== disableddates ====
207 +==== categories ====
210 210  
211 211  Тип данных:##// Array<string>//##
212 212  
... ... @@ -214,492 +214,513 @@
214 214  
215 215  (% class="box infomessage" %)
216 216  (((
217 -Параметр отключения дат в календаре (и в //покупке// и в //пополнении//). Делает невозможным выбор определённых дней в массиве дат.
215 +Фильтр категорий инструкторских занятий. Скрывает категории в выпадающем списке, **##id##** которых не совпадают заданными в массиве.
218 218  )))
219 219  
220 -Пример:
218 +[[image:1703065952567-753.png]]
221 221  
222 -{{code language="javascript"}}
223 -disableddates: ['23.02.2018', '08.03.2018'] // уберёт даты 23.02.2018 и 08.03.2018 из возможных для выбора дат в календаре.
224 -{{/code}}
220 +==== coachid ====
225 225  
226 -==== forcedate ====
222 +Тип данных:##// number//##
227 227  
228 -Тип данных:##// string//##
229 -
230 230  По умолчанию:##// undefined//##
231 231  
232 232  (% class="box infomessage" %)
233 233  (((
234 -Параметр для открывания виджета с указанной сразу датой (и в //покупке// и в //пополнении//).
235 -**##forcedate: '20.05.2018'##** покажет услуги к продаже на дату 20.05.2018.
228 +Идентификатор тренера, позволяет сепарировать список занятий по тренеру
236 236  )))
237 237  
238 -==== maxdate ====
231 +==== grouplessonsskillstariffs **##*##** ====
239 239  
240 -Тип данных:##// string//##
233 +Тип данных:##// object//##
241 241  
242 -По умолчанию:##// undefined//##
235 +По умолчанию:##// {}//##
243 243  
244 244  (% class="box infomessage" %)
245 245  (((
246 -Параметр максимальной отображаемой даты в календаре (и в //покупке// и в //пополнении//).
247 -**##maxdate: '20.05.2018'##** покажет 20.05.2018 как самую последнюю дату, доступную к выбору в календаре.
239 +Ограничивает список тарифов (в фильтре) при выборе конкретной дисциплины групповых занятий.
240 +Принимает объект, внутри которого указываются пары ключ/значение по выражению: {skillid}: [{tariffid},...]
248 248  )))
249 249  
250 -==== mindate ====
243 +Пример:
251 251  
252 -Тип данных:##// string//##
245 +{{code language="javascript"}}
246 +grouplessonsskillstariffs: {
247 + "1": [ 15, 23] // При выборе дисциплины с id 1 - отображать тарифы с id 15 и 23
248 +}
249 +{{/code}}
253 253  
254 -По умолчанию:##// undefined//##
251 +==== grouplessonstariffsid ====
255 255  
253 +Тип данных:##// Array<number>//##
254 +
255 +По умолчанию:##// []//##
256 +
256 256  (% class="box infomessage" %)
257 257  (((
258 -Параметр минимальной отображаемой даты в календаре (и в //покупке// и в //пополнении//). mindate: '20.05.2018' покажет 20.05.2018 как самую первую дату, доступную к выбору в календаре, если она находится после текущего дня.
259 +Фильтр программ обучения для групповых занятий
259 259  )))
260 260  
261 -==== nocalendar ====
262 +[[image:1703065356750-663.png]]
262 262  
263 -Тип данных:## //boolean//##
264 +Пример:
264 264  
265 -По умолчанию:##// false//##
266 +{{code language="javascript"}}
267 +grouplessonstariffsid: [1823, 1900] // скрыть групповые программы обучения, кроме 1823 и 1900
268 +{{/code}}
266 266  
270 +==== lessonslocation **##*##** ====
271 +
272 +Тип данных:##// number//##
273 +
274 +По умолчанию:##// undefined//##
275 +
267 267  (% class="box infomessage" %)
268 268  (((
269 -Убирает календарь внутри виджета (и в //покупке// и в //пополнении//), в случаях, когда дата, на которую покупается/пополняется билет, не важна.
278 +Отображение места занятия для индивидуальных, групповых и многодневных занятий
270 270  )))
271 271  
272 -----
281 +[[image:1702560957244-690.png]]
273 273  
274 -=== Услуги, пакеты услуг, группы услуг ===
283 +==== lessonstariffsid ====
275 275  
276 -==== tariffsid ====
285 +Тип данных:##// Array<number>//##
277 277  
278 -Тип данных:##// Array<number> //##//|## boolean##//
279 -
280 280  По умолчанию:##// []//##
281 281  
282 282  (% class="box infomessage" %)
283 283  (((
284 -Тарифы, которые следует показать на вкладке «Покупка услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него.
291 +Ограничить видимость доступных тарифов в выпадающем списке программ обучения по массиву с их идентификаторами
285 285  )))
286 286  
287 -Пример:
294 +[[image:1702641274330-465.png]]
288 288  
289 -{{code language="javascript"}}
290 -tariffsid: [29, 30] // покажет тарифы с id 29 и 30 во вкладке «Покупка услуг».
291 -tariffsid: false // уберёт все тарифы с первой страницы
292 -{{/code}}
296 +==== multidayslessonsskillstariffs **##*##** ====
293 293  
294 -==== rtariffsid ====
298 +Тип данных:##// Array<number> //##//|## object##//
295 295  
296 -Тип данных:##// Array<number> //##//|## boolean##//
297 -
298 298  По умолчанию:##// []//##
299 299  
300 300  (% class="box infomessage" %)
301 301  (((
302 -Тарифы, которые следует показать после ввода карты во вкладке «Пополнение услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него.
304 +Производит фильтрацию тарифов для многодневных занятий. Принимает массив идентификаторов.
305 +Параметр дополняет фильтрацию по параметру **##grouplessonsskillstariffs##**.
303 303  )))
304 304  
305 -Пример:
308 +==== nocategories **##*##** ====
306 306  
307 -{{code language="javascript"}}
308 -rtariffsid: [56, 57] // покажет тарифы с id 56 и 57 после ввода карты во вкладке «Пополнение услуг»
309 -rtariffsid: false // уберёт все тарифы во вкладке «Пополнение услуг»
310 -{{/code}}
310 +Тип данных:##// boolean//##
311 311  
312 -==== bundlesid ====
312 +По умолчанию:##// false//##
313 313  
314 -Тип данных:##// Array<number> //##//|## boolean##//
315 -
316 -По умолчанию:##// []//##
317 -
318 318  (% class="box infomessage" %)
319 319  (((
320 -Пакеты услуг, которые следует показать на первой странице. По умолчанию массив пуст и не показывает отдельно никакие из пакетов услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать пакеты услуг, доступные только для него.
316 +Если **##true##** скрывает фильтр по категории инструкторских занятий
321 321  )))
322 322  
323 -Пример:
319 +[[image:1702638427440-675.png]]
324 324  
325 -{{code language="javascript"}}
326 -bundlesid: [4, 5] // покажет пакеты услуг с id 4 и 5 в момент открытия виджета.
327 -bundlesid: false // уберёт все пакеты услуг с первой страницы
328 -{{/code}}
321 +==== nocoach **##*##** ====
329 329  
330 -==== bundleslessonstariffsid ====
323 +Тип данных:##// boolean//##
331 331  
332 -Тип данных:##// Array<number>//##
325 +По умолчанию:##// false//##
333 333  
334 -По умолчанию:##// []//##
335 -
336 -(% class="box warningmessage" %)
327 +(% class="box infomessage" %)
337 337  (((
338 -Описание отсутствует
329 +Если **##true##** скрывает выпадающее меню выбора инструктора
339 339  )))
340 340  
341 -==== groupid ====
332 +[[image:1702638265778-588.png]]
342 342  
343 -Тип данных:##// number//##
334 +==== nolocation **##*##** ====
344 344  
345 -По умолчанию:##// undefined//##
336 +Тип данных:##// boolean//##
346 346  
338 +По умолчанию:##// false//##
339 +
347 347  (% class="box infomessage" %)
348 348  (((
349 -Параметр, который форсирует показ определённой группы услуг ппс. groupid: 5 покажет только одну группу с id 5 в виджете.
342 +Если **##true##** скрывает фильтр по месту проведения инструкторских занятий
350 350  )))
351 351  
352 -----
345 +[[image:1702638034420-756.png]]
353 353  
354 -=== Предзаказ ===
347 +==== noskills **##*##** ====
355 355  
356 -==== preorder ====
349 +Тип данных:##// boolean//##
357 357  
358 -Тип данных:##// Array<object>//##
351 +По умолчанию:##// false//##
359 359  
360 -По умолчанию:##// undefined//##
361 -
362 362  (% class="box infomessage" %)
363 363  (((
364 -Параметр, позволяющий купить сразу несколько услуг и перейти к подтверждению покупки.
365 - • id — id услуги к покупке
366 - • date — дата, на которую покупается услуга
367 - • count — количество покупаемых услуг
355 +Если **##true##** скрывает фильтр по дисциплине инструкторских занятий
368 368  )))
369 369  
370 -===== Пример передаваемых данных: =====
358 +[[image:1702638705750-678.png]]
371 371  
372 -{{code language="javascript"}}
373 -// либо WPOpenModal({})
374 -WPOpen({
375 - preorder: [
376 - {
377 - id: 57,
378 - date: '06.06.2019',
379 - count: 1
380 - }, {
381 - id: 58,
382 - date: '07.06.2019',
383 - count: 2
384 - }
385 - ]
386 -})
387 -{{/code}}
360 +==== notagfilter ====
388 388  
389 -----
362 +Тип данных:##// boolean//##
390 390  
391 -=== Отображение ===
364 +По умолчанию:##// false//##
392 392  
393 -==== cartmaxitems ====
394 -
395 -Тип данных:##// number//##
396 -
397 -По умолчанию:##// 6//##
398 -
399 399  (% class="box infomessage" %)
400 400  (((
401 -Ограничивает максимальное кол-во товаров в корзине. ##Минимальное значение 1, но не меньше **cartminitems**. Максимальное значение 60.##
368 +Если **##true##** скрывает фильтр по тэгам
402 402  )))
403 403  
404 -==== cartminitems ====
371 +[[image:1732612477973-413.png]]
405 405  
406 -Тип данных:##// number//##
407 407  
408 -По умолчанию:##// 1//##
374 +==== notariffs ====
409 409  
376 +Тип данных:##// boolean//##
377 +
378 +По умолчанию:##// false//##
379 +
410 410  (% class="box infomessage" %)
411 411  (((
412 -Ограничивает минимальное кол-во товаров в корзине. ##Минимальное значение 1. Максимальное значение 60, но не больше **cartmaxitems**.##
382 +Если **##true##** скрывает фильтр по программе обучения инструкторских занятий
413 413  )))
414 414  
415 -==== categories ====
385 +[[image:1703063138160-208.png]]
416 416  
417 -Тип данных:##// Array<string>//##
387 +==== personallessonsskillstariffs **##*##** ====
418 418  
419 -По умолчанию:##// []//##
389 +Тип данных:##// object//##
420 420  
421 -(% class="box warningmessage" %)
391 +По умолчанию:##// {}//##
392 +
393 +(% class="box infomessage" %)
422 422  (((
423 -Описание отсутствует
395 +Ограничивает список тарифов (в фильтре) при выборе конкретной дисциплины.
396 +Принимает объект, внутри которого указываются пары ключ/значение по выражению: {skillid}: [{tariffid},...]
424 424  )))
425 425  
426 -==== clubsiteid ====
399 +Пример:
427 427  
401 +{{code language="javascript"}}
402 +personallessonsskillstariffs: {
403 + "1": [ 15, 23] // При выборе дисциплины с id 1 - отображать тарифы с id 15 и 23
404 +}
405 +{{/code}}
406 +
407 +==== placeid **##*##** ====
408 +
428 428  Тип данных:##// number//##
429 429  
430 -По умолчанию:##// 0//##
411 +По умолчанию:##// undefined//##
431 431  
432 -(% class="box warningmessage" %)
413 +(% class="box infomessage" %)
433 433  (((
434 -Описание отсутствует
415 +Идентификатор места, использующийся для получения списка инструкторов.
435 435  )))
436 436  
437 -==== coachid ====
418 +==== singleguest **##*##** ====
438 438  
439 -Тип данных:##// number//##
420 +Тип данных:##// Boolean//##
440 440  
441 -По умолчанию:##// undefined//##
422 +По умолчанию:##// false//##
442 442  
443 -(% class="box warningmessage" %)
424 +(% class="box infomessage" %)
444 444  (((
445 -Описание отсутствует
426 +Если **##true##**, то при выборе занятия препятствует выбору 2 гостей.
446 446  )))
447 447  
448 -==== disablemultipleseances ====
429 +[[image:1710854841918-858.png]]
449 449  
450 -Тип данных:##// boolean//##
431 +==== skills **##*##** ====
451 451  
452 -По умолчанию:##// false//##
433 +Тип данных:##// Array<number>//##
453 453  
435 +По умолчанию:##// []//##
436 +
454 454  (% class="box infomessage" %)
455 455  (((
456 -Параметр предотвращает добавление в корзину тарифов с различными сеансами.
457 -Таким образом как только в корзине появится хоть один товар с сеансом "10:00 - 11:30", товары, у которых есть сеанс например "13:00 - 14:30" будет невозможно добавить в корзину.
458 -Товары без сеансов __не будут затронуты__.
439 +Ограничить видимость доступных к выбору дисциплин по идентификатору
459 459  )))
460 460  
461 -==== forcemedia ====
442 +[[image:1702639385677-964.png]]
462 462  
463 -Тип данных:##// string//##
444 +=== Календарь и даты ===
464 464  
465 -По умолчанию:##// ''//##
446 +==== disableddates ====
466 466  
448 +Тип данных:##// Array<string>//##
449 +
450 +По умолчанию:##// []//##
451 +
467 467  (% class="box infomessage" %)
468 468  (((
469 -Параметр, который вставяет строчку с носителем в поле носителя во вкладке «Пополнение услуг». Используется, например, для QR-кода нанесённого на носитель, чтобы быстро его пополнить.
454 +Параметр отключения дат в календаре в //покупке// и в //пополнении//). Делает невозможным выбор определённых дней в массиве дат.
470 470  )))
471 471  
472 472  Пример:
473 473  
474 474  {{code language="javascript"}}
475 -forcemedia: 'E0012345678900'
460 +disableddates: ['23.02.2018', '08.03.2018'] // уберёт даты 23.02.2018 и 08.03.2018 из возможных для выбора дат в календаре.
476 476  {{/code}}
477 477  
478 -==== forceseanceid ====
463 +==== disableddays **##*##** ====
479 479  
480 -Тип данных:##// number//##
465 +Тип данных:##// Array<number>//##
481 481  
482 -По умолчанию без указания идентификатора не учитывается.
467 +По умолчанию:##// []//##
483 483  
484 484  (% class="box infomessage" %)
485 485  (((
486 -Заставит виджет выбрать мероприятие арены по идентификатору платформы и не позволять вернуться к этапу выбора других мероприятий.
471 +Параметры открлючения дней недели в календаре (и в покупке и в пополнении), где 0 - воскресенье, 1 - понедельник и так далее.
487 487  )))
488 488  
489 -==== forcesectorid ====
474 +==== forcedate ====
490 490  
491 -Тип данных:##// number//##
476 +Тип данных:##// string//##
492 492  
493 -По умолчанию без указания идентификатора не учитывается.
478 +По умолчанию:##// undefined//##
494 494  
495 495  (% class="box infomessage" %)
496 496  (((
497 -Заставит виджет выбрать сектор мероприятия по **##id##** и не позволять вернуться к этапу выбора других секторов.
482 +Параметр для открывания виджета с указанной сразу датой (и в //покупке// и в //пополнении//).
483 +**##forcedate: '20.05.2018'##** покажет услуги к продаже на дату 20.05.2018.
498 498  )))
499 499  
500 -==== forcetab ====
486 +==== maxdate ====
501 501  
502 502  Тип данных:##// string//##
503 503  
504 -По умолчанию:##// ''//##
490 +По умолчанию:##// undefined//##
505 505  
506 506  (% class="box infomessage" %)
507 507  (((
508 -Переключение на необходимую вкладку виджета («**покупка услуг**» или «**пополнение услуг**») при загрузке.
509 -По умолчанию открывается вкладка «**покупка услуг**».
510 -**##forcetab: 'rewrite'##** принудительно откроет «**пополнение услуг**».
511 -Обычно используется в комбинации с параметром **##onlytab##**
494 +Параметр максимальной отображаемой даты в календаре (и в //покупке// и в //пополнении//).
495 +**##maxdate: '20.05.2018'##** покажет 20.05.2018 как самую последнюю дату, доступную к выбору в календаре.
512 512  )))
513 513  
514 -==== grouplessonsskillstariffs ====
498 +==== mindate ====
515 515  
516 -Тип данных:##// Array<number> //##//|## object##//
500 +Тип данных:##// string//##
517 517  
518 -По умолчанию:##// {}//##
502 +По умолчанию:##// undefined//##
519 519  
520 -(% class="box warningmessage" %)
504 +(% class="box infomessage" %)
521 521  (((
522 -Описание отсутствует
506 +Параметр минимальной отображаемой даты в календаре (и в //покупке// и в //пополнении//).
507 +**##mindate: '20.05.2018'##** покажет 20.05.2018 как самую первую дату, доступную к выбору в календаре, если она находится после текущего дня.
523 523  )))
524 524  
525 -==== grouplessonstariffsid ====
510 +==== nocalendar ====
526 526  
527 -Тип данных:##// Array<number>//##
512 +Тип данных:## //boolean//##
528 528  
529 -По умолчанию:##// []//##
514 +По умолчанию:##// false//##
530 530  
531 -(% class="box warningmessage" %)
516 +(% class="box infomessage" %)
532 532  (((
533 -Описание отсутствует
518 +Убирает календарь внутри виджета (и в //покупке// и в //пополнении//), в случаях, когда дата, на которую покупается/пополняется билет, не важна.
534 534  )))
535 535  
536 -==== ismobile ====
521 +==== saledepth **##*##** ====
537 537  
538 -Тип данных:##// boolean//##
523 +Тип данных:## //number//##
539 539  
540 -По умолчанию:##// false//##
525 +По умолчанию:##// undefined//##
541 541  
542 -(% class="box warningmessage" %)
527 +(% class="box infomessage" %)
543 543  (((
544 -Описание отсутствует
529 +Ограничивает глубину продаж начиная с сегодняшнего дня. Таким образом если ##saledepth: 1##, то доступные даты в календаре выбора тарифа будут __**сегодня **__и __**завтра**__.
530 +⚠ Имеет больший приоритет, чем ##maxdate##
545 545  )))
546 546  
547 -==== lessonslocation ====
533 +----
548 548  
535 +=== Отображение ===
536 +
537 +==== cartmaxitems **##*##** ====
538 +
549 549  Тип данных:##// number//##
550 550  
551 -По умолчанию:##// undefined//##
541 +По умолчанию:##// 6//##
552 552  
553 -(% class="box warningmessage" %)
543 +(% class="box infomessage" %)
554 554  (((
555 писание отсутствует
545 граничивает максимальное кол-во товаров в корзине. ##Минимальное значение 1, но не меньше **cartminitems**. Максимальное значение 60.##
556 556  )))
557 557  
558 -==== lessonstariffsid ====
548 +==== cartminitems **##*##** ====
559 559  
560 -Тип данных:##// Array<number>//##
550 +Тип данных:##// number//##
561 561  
562 -По умолчанию:##// []//##
552 +По умолчанию:##// 1//##
563 563  
564 -(% class="box warningmessage" %)
554 +(% class="box infomessage" %)
565 565  (((
566 писание отсутствует
556 граничивает минимальное кол-во товаров в корзине. ##Минимальное значение 1. Максимальное значение 60, но не больше **cartmaxitems**.##
567 567  )))
568 568  
569 -==== locale ====
559 +==== clubsiteid ====
570 570  
571 -Тип данных:##// string//##
561 +Тип данных:##// number//##
572 572  
573 -По умолчанию:##// ''//##
563 +По умолчанию:##// 0//##
574 574  
575 575  (% class="box infomessage" %)
576 576  (((
577 -Параметр локализации. Позволяет переключать между языками виджета, например 'ru' - русский язык, 'en' - английский язык.
567 +Вызов сайта для оформления клубного контракта
578 578  )))
579 579  
580 -==== marketbillid ====
570 +==== customseancetitles ====
581 581  
582 -Тип данных:##// number//##
572 +Типа данных: ##//Array<object>//##
583 583  
584 -По умолчанию:##// undefined//##
585 -
586 -(% class="box warningmessage" %)
574 +(% class="box infomessage" %)
587 587  (((
588 -Описание отсутствует
576 +Выводит цветную текст-метку над сеансом.
577 +Описание параметров объекта текста-метки:
578 +\\##**seanceId**## - идентификатор сеанса, у которого нужно отобразить текст-метку
579 +##**days**## - массив с днями недели, в которые нужно отобразить текст-метку. **ВАЖНО**: 0 - воскресенье, 1 - понедельник ... 6 - суббота
580 +##**dates**## - массив с датами, в которые нужно отобразить текст-метку независимо от массива дней.
581 +##**color**## - любой валидный CSS цвет текста-метки
582 +##**text**## - текст, который нужно отобразить
583 +\\Работает если **##tariffsseancesfilter: true##**
589 589  )))
590 590  
591 -==== marketemployeeid ====
586 +Пример:
592 592  
593 -Тип данных:##// number//##
588 +{{code language="javascript"}}
589 +customseancetitles: [
590 + {
591 + seanceId: 1,
592 + text: "Тематический сеанс",
593 + color: "#f00",
594 + days: [0,1],
595 + dates: ["25.12.2023","17.04.2025"]
596 + }
597 +]
598 +{{/code}}
594 594  
595 -По умолчанию:##// undefined//##
600 +==== disablemultipleseances **##*##** ====
596 596  
597 -(% class="box warningmessage" %)
602 +Тип данных:##// boolean//##
603 +
604 +По умолчанию:##// false//##
605 +
606 +(% class="box infomessage" %)
598 598  (((
599 -Описание отсутствует
608 +Параметр предотвращает добавление в корзину тарифов с различными сеансами.
609 +Таким образом как только в корзине появится хоть один товар с сеансом "10:00 - 11:30", товары, у которых есть сеанс например "13:00 - 14:30" будет невозможно добавить в корзину.
610 +Товары без сеансов **не будут затронуты**.
600 600  )))
601 601  
602 -==== minimap ====
613 +==== forcemedia ====
603 603  
604 -Тип данных:##// boolean//##
615 +Тип данных:##// string//##
605 605  
606 -По умолчанию:##// true//##
617 +По умолчанию:##// ''//##
607 607  
608 608  (% class="box infomessage" %)
609 609  (((
610 -Отображать миникарту.
621 +Параметр, который вставяет строчку с носителем в поле носителя во вкладке «Пополнение услуг». Используется, например, для QR-кода нанесённого на носитель, чтобы быстро его пополнить.
611 611  )))
612 612  
613 -==== minimapaspect ====
624 +Пример:
614 614  
626 +{{code language="javascript"}}
627 +forcemedia: 'E0012345678900'
628 +{{/code}}
629 +
630 +==== forceseanceid **##*##** ====
631 +
615 615  Тип данных:##// number//##
616 616  
617 -По умолчанию:##// 0.2//##
634 +По умолчанию без указания идентификатора не учитывается.
618 618  
619 619  (% class="box infomessage" %)
620 620  (((
621 -Размер миникарты относительной полного размера карты, а не контейнера, в которой она находится.
638 +Заставит виджет выбрать мероприятие арены по идентификатору платформы и не позволять вернуться к этапу выбора других мероприятий.
622 622  )))
623 623  
624 -==== multidayslessonsskillstarif(% style="display:none" %) (%%)fs ====
641 +==== forcesectorid **##*##** ====
625 625  
626 -Тип данных:##// Array<number> //##//|## object##//
643 +Тип данных:##// number//##
627 627  
628 -По умолчанию:##// []//##
645 +По умолчанию без указания идентификатора не учитывается.
629 629  
630 630  (% class="box infomessage" %)
631 631  (((
632 -Производит фильтрацию тарифов для многодневных занятий. Принимает массив идентификаторов.
633 -Параметр дополняет фильтрацию по параметру **##grouplessonsskillstariffs##**.
649 +Заставит виджет выбрать сектор мероприятия по **##id##** и не позволять вернуться к этапу выбора других секторов.
634 634  )))
635 635  
636 -==== nocategories ====
652 +==== forcetab **##*##** ====
637 637  
638 -Тип данных:##// boolean//##
654 +Тип данных:##// string//##
639 639  
640 -По умолчанию:##// false//##
656 +По умолчанию:##// ''//##
641 641  
642 -(% class="box warningmessage" %)
658 +(% class="box infomessage" %)
643 643  (((
644 -Описание отсутствует
660 +Переключение на необходимую вкладку виджета («**покупка услуг**» или «**пополнение услуг**») при загрузке.
661 +По умолчанию открывается вкладка «**покупка услуг**».
662 +**##forcetab: 'rewrite'##** принудительно откроет «**пополнение услуг**».
663 +Обычно используется в комбинации с параметром **##onlytab##**
645 645  )))
646 646  
647 -==== nocoach ====
666 +==== locale **##*##** ====
648 648  
649 -Тип данных:##// boolean//##
668 +Тип данных:##// string//##
650 650  
651 -По умолчанию:##// false//##
670 +По умолчанию:##// ''//##
652 652  
653 -(% class="box warningmessage" %)
672 +(% class="box infomessage" %)
654 654  (((
655 -Описание отсутствует
674 +Параметр локализации. Позволяет переключать между языками виджета, например 'ru' - русский язык, 'en' - английский язык.
656 656  )))
657 657  
658 -==== nolocations ====
677 +==== minimap **##*##** ====
659 659  
660 660  Тип данных:##// boolean//##
661 661  
662 -По умолчанию:##// false//##
681 +По умолчанию:##// true//##
663 663  
664 -(% class="box warningmessage" %)
683 +(% class="box infomessage" %)
665 665  (((
666 писание отсутствует
685 тображать миникарту.
667 667  )))
668 668  
669 -==== nopromo ====
688 +==== minimapaspect **##*##** ====
670 670  
671 -Тип данных:##// boolean//##
690 +Тип данных:##// number//##
672 672  
673 -По умолчанию:##// false//##
692 +По умолчанию:##// 0.2//##
674 674  
675 675  (% class="box infomessage" %)
676 676  (((
677 -Убирает вывод промокода на странице подтверждения заказа.
696 +Размер миникарты относительной полного размера карты, а не контейнера, в которой она находится.
678 678  )))
679 679  
680 -==== noskills ====
699 +==== nopromo **##*##** ====
681 681  
682 682  Тип данных:##// boolean//##
683 683  
684 684  По умолчанию:##// false//##
685 685  
686 -(% class="box warningmessage" %)
705 +(% class="box infomessage" %)
687 687  (((
688 -Описание отсутствует
707 +Убирает вывод промокода на странице подтверждения заказа.
689 689  )))
690 690  
691 -==== notariffs ====
710 +==== noscroll **##*##** ====
692 692  
693 693  Тип данных:##// boolean//##
694 694  
695 695  По умолчанию:##// false//##
696 696  
697 -(% class="box warningmessage" %)
716 +(% class="box infomessage" %)
698 698  (((
699 -Описание отсутствует
718 +Скрывает кнопку прокручивания страницы виджета продаж вверх
700 700  )))
701 701  
702 -==== onlytab ====
721 +==== onlytab **##*##** ====
703 703  
704 704  Тип данных:##// string //##//|## Array<string>##//
705 705  
... ... @@ -711,12 +711,16 @@
711 711  )))
712 712  
713 713  {{code language="javascript"}}
714 -onlytab: 'service' // покажет только вкладку «покупка услуг».
715 -onlytab: 'rewrite' // покажет только вкладку «пополнение услуг».
716 -onlytab: ['service', 'rewrite'] // покажет только вкладки «покупка услуг» и «пополнение услуг»;
733 +onlytab: "service" // покажет только вкладку «покупка услуг».
734 +onlytab: "rewrite" // покажет только вкладку «пополнение услуг».
735 +onlytab: "personal_lessons" // покажет только вкладку «индивидуальные занятия».
736 +onlytab: "group_lessons" // покажет только вкладку «групповые занятия».
737 +onlytab: "bundles_lessons" // покажет только вкладку «многодневные занятия».
738 +onlytab: ["service", "rewrite"] // покажет только вкладки «покупка услуг» и «пополнение услуг»;
739 +onlytab: "service, rewrite" // покажет только вкладки «покупка услуг» и «пополнение услуг»;
717 717  {{/code}}
718 718  
719 -==== ordercomment ====
742 +==== ordercomment **##*##** ====
720 720  
721 721  Тип данных:##// string//##
722 722  
... ... @@ -727,30 +727,47 @@
727 727  Опциональный комментарий к заказу. Максимальная длинна комментария 50 символов.
728 728  )))
729 729  
730 -==== personallessonsskillstariffs ====
753 +==== requiredloyalty **##*##** ====
731 731  
732 -Тип данных:##// Array<number> //##//|## object##//
755 +Тип данных:##// boolean//##
733 733  
734 -По умолчанию:##// []//##
757 +По умолчанию:##// false//##
735 735  
736 736  (% class="box infomessage" %)
737 737  (((
738 -Производит фильтрацию тарифов для индивидуальных занятий. Принимает массив идентификаторов.
761 +Включает обязательную регистрацию клиента в программе настроенной на объектке.
739 739  )))
740 740  
741 -==== placeid ====
764 +==== resetcart **##*##** ====
742 742  
743 -Тип данных:##// number//##
766 +Тип данных:##// boolean//##
744 744  
745 -По умолчанию:##// undefined//##
768 +По умолчанию:##// false//##
746 746  
747 -(% class="box warningmessage" %)
770 +(% class="box infomessage" %)
748 748  (((
749 -Описание отсутствует
772 +Автоматически очищать содержимое корзины.
750 750  )))
751 751  
752 -==== requiredloyalty ====
775 +==== saletermstype **##*##** ====
753 753  
777 +Тип данных:##// string//##
778 +
779 +По умолчанию:##// '//default//'//##
780 +
781 +(% class="box infomessage" %)
782 +(((
783 +Перед оплатой просит пользователя согласиться с правилами в форме галочки или всплывающего окна
784 +)))
785 +
786 +{{code language="javascript"}}
787 +saletermstype: 'checkbox' // потребует установку галочки для согласия.
788 +saletermstype: 'dialog' // покажет всплывающее окно с правилами, которые нужно принять.
789 +saletermstype: 'default' // принятие правил не требуется.
790 +{{/code}}
791 +
792 +==== shownoticketsseances **##*##** ====
793 +
754 754  Тип данных:##// boolean//##
755 755  
756 756  По умолчанию:##// false//##
... ... @@ -757,10 +757,10 @@
757 757  
758 758  (% class="box infomessage" %)
759 759  (((
760 -Включает обязательную регистрацию клиента в программе настроенной на объектке.
800 +Не скрывать сеансы, на которые закончились билеты. Работает если **##tariffsseancesfilter: true##**
761 761  )))
762 762  
763 -==== resetcart ====
803 +==== showoverseances **##*##** ====
764 764  
765 765  Тип данных:##// boolean//##
766 766  
... ... @@ -768,81 +768,158 @@
768 768  
769 769  (% class="box infomessage" %)
770 770  (((
771 -Автоматически очищать содержимое корзины.
811 +Отвечает за отображение прошедших сеансов в списке для фильтрации по времени. При значении **##true##** прошедшие сеансы будут отображаться, но недоступны для выбора пользователем. Работает если **##tariffsseancesfilter: true##**
772 772  )))
773 773  
774 -==== rewritetariffsid ====
814 +[[image:1702554598837-627.png]]
775 775  
776 -Тип данных:##// Array<number>//##
816 +==== tariffsseancesfilter **##*##** ====
777 777  
778 -По умолчанию:##// []//##
818 +Тип данных:##// boolean//##
779 779  
780 -(% class="box warningmessage" %)
820 +По умолчанию:##// false//##
821 +
822 +(% class="box infomessage" %)
781 781  (((
782 -Описание отсутствует
824 +Включить отображение фильтра тарифов по сеансам.
783 783  )))
784 784  
785 -==== saletermstype ====
827 +[[image:https://info.moipass.ru/images/tariffsseancesfilter.png||alt="Example"]]
786 786  
787 -Тип данных:##// string//##
829 +----
788 788  
789 -По умолчанию:##// '//default//'//##
831 +=== Предзаказ ===
790 790  
833 +==== preorder ====
834 +
835 +Тип данных:##// Array<object>//##
836 +
837 +По умолчанию:##// undefined//##
838 +
791 791  (% class="box infomessage" %)
792 792  (((
793 -Перед оплатой просит пользователя согласиться с правилами в форме галочки или всплывающего окна
841 +Параметр, позволяющий купить сразу несколько услуг и перейти к подтверждению покупки.
842 +• ##id## — id услуги к покупке
843 +• ##date## — дата, на которую покупается услуга
844 +• ##count## — количество покупаемых услуг
794 794  )))
795 795  
847 +===== Пример передаваемых данных: =====
848 +
796 796  {{code language="javascript"}}
797 -saletermstype: 'checkbox' // потребует установку галочки для согласия.
798 -saletermstype: 'dialog' // покажет всплывающее окно с правилами, которые нужно принять.
799 -saletermstype: 'default' // принятие правил не требуется.
850 +// либо WPOpenModal({})
851 +WPOpen({
852 + preorder: [
853 + {
854 + id: 57,
855 + date: '06.06.2019',
856 + count: 1
857 + }, {
858 + id: 58,
859 + date: '07.06.2019',
860 + count: 2
861 + }
862 + ]
863 +})
800 800  {{/code}}
801 801  
802 -==== shownoticketsseances ====
866 +----
803 803  
804 -Тип данных:##// boolean//##
868 +=== Услуги, пакеты услуг, группы услуг ===
805 805  
806 -По умолчанию:##// false//##
870 +==== tariffsid ====
807 807  
808 -(% class="box warningmessage" %)
872 +Тип данных:##// Array<number> //##//|## boolean##//
873 +
874 +По умолчанию:##// []//##
875 +
876 +(% class="box infomessage" %)
809 809  (((
810 -Описание отсутствует
878 +Тарифы, которые следует показать на вкладке «Покупка услуг».
879 +По умолчанию массив пуст и не показывает отдельно никакие из услуг.
880 +Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него.
811 811  )))
812 812  
813 -==== showoverseances ====
883 +Пример:
814 814  
815 -Тип данных:##// boolean//##
885 +{{code language="javascript"}}
886 +tariffsid: [29, 30] // покажет тарифы с id 29 и 30 во вкладке «Покупка услуг».
887 +tariffsid: "15, 16" // покажет тарифы с id 15 и 16 во вкладке «Покупка услуг».
888 +tariffsid: false // уберёт все тарифы с первой страницы
889 +{{/code}}
816 816  
817 -По умолчанию:##// false//##
891 +==== rewritetariffsid **##*##** ====
818 818  
893 +Тип данных:##// Array<number> //##//|## boolean##//
894 +
895 +По умолчанию:##// []//##
896 +
819 819  (% class="box infomessage" %)
820 820  (((
821 -Отвечает за отображение прошедших сеансов в списке для фильтрации по времени. При значении **##true##** прошедшие сеансы будут отображаться, но недоступны для выбора пользователем. Работает если **##tariffsseancesfilter: true##**
899 +Тарифы, которые следует показать после ввода карты во вкладке «Пополнение услуг».
900 +По умолчанию массив пуст и не показывает отдельно никакие из услуг.
901 +Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него.
822 822  )))
823 823  
824 -[[image:1702554598837-627.png]]
904 +Пример:
825 825  
826 -==== skills ====
906 +{{code language="javascript"}}
907 +rtariffsid: [56, 57] // покажет тарифы с id 56 и 57 после ввода карты во вкладке «Пополнение услуг»
908 +rtariffsid: false // уберёт все тарифы во вкладке «Пополнение услуг»
909 +{{/code}}
827 827  
911 +==== rtariffsid ====
912 +
913 +(% class="box infomessage" %)
914 +(((
915 +См. **##rewritetariffsid##**. Доступен и в старой версии виджета
916 +)))
917 +
918 +==== bundlesid ====
919 +
920 +Тип данных:##// Array<number> //##//|## boolean##//
921 +
922 +По умолчанию:##// []//##
923 +
924 +(% class="box infomessage" %)
925 +(((
926 +Пакеты услуг, которые следует показать на первой странице.
927 +По умолчанию массив пуст и не показывает отдельно никакие из пакетов услуг.
928 +Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать пакеты услуг, доступные только для него.
929 +)))
930 +
931 +Пример:
932 +
933 +{{code language="javascript"}}
934 +bundlesid: [4, 5] // покажет пакеты услуг с id 4 и 5 в момент открытия виджета.
935 +bundlesid: false // уберёт все пакеты услуг с первой страницы
936 +{{/code}}
937 +
938 +==== bundleslessonstariffsid ====
939 +
828 828  Тип данных:##// Array<number>//##
829 829  
830 830  По умолчанию:##// []//##
831 831  
832 -(% class="box warningmessage" %)
944 +(% class="box infomessage" %)
833 833  (((
834 -Описание отсутствует
946 +Фильтр списка доступных связок занятий по массиву идентификаторов
835 835  )))
836 836  
837 -==== tariffsseancesfilter ====
949 +==== groupid ====
838 838  
839 -Тип данных:##// boolean//##
951 +Тип данных:##// number//##
840 840  
841 -По умолчанию:##// false//##
953 +По умолчанию:##// undefined//##
842 842  
843 843  (% class="box infomessage" %)
844 844  (((
845 -Включить отображение фильтра тарифов по сеансам.
957 +Параметр, который форсирует показ определённой группы услуг ппс. **##groupid: 5##** покажет только одну группу с **##id##** 5 в виджете.
846 846  )))
847 847  
848 -[[image:https://info.moipass.ru/images/tariffsseancesfilter.png||alt="Example"]]
960 +----
961 +
962 +(% class="box warningmessage" %)
963 +(((
964 +**##* ##**- доступно в новой версии виджета
965 +)))
1702560922714-276.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +11.1 KB
Содержимое
1702560957244-690.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +11.6 KB
Содержимое
1702638034420-756.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +2.0 KB
Содержимое
1702638265778-588.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +2.4 KB
Содержимое
1702638427440-675.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +2.9 KB
Содержимое
1702638705750-678.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +3.5 KB
Содержимое
1702639385677-964.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +2.6 KB
Содержимое
1702641274330-465.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +3.7 KB
Содержимое
1703061675290-102.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +35.6 KB
Содержимое
1703063138160-208.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +3.7 KB
Содержимое
1703065328290-657.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +37.2 KB
Содержимое
1703065338350-331.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +37.1 KB
Содержимое
1703065356750-663.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +36.7 KB
Содержимое
1703065952567-753.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +2.9 KB
Содержимое
1710854841918-858.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +14.6 KB
Содержимое
1732612477973-413.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.galich
Размер
... ... @@ -1,0 +1,1 @@
1 +24.9 KB
Содержимое
XWiki.XWikiRights[2]
allow
... ... @@ -1,0 +1,1 @@
1 +Разрешить
groups
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiAllGroup
levels
... ... @@ -1,0 +1,1 @@
1 +view