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

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

<
От версии < 43.3 >
отредактировано Михаил Галич
на 17.12.2023, 12:30
К версии < 78.1 >
отредактировано Юлия Кирюшина
на 01.09.2025, 11:57
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

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