Исходный код вики Для разработчиков

Версия 50.2 от Михаил Галич на 20.12.2023, 15:48

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