Изменения документа Для_разработчиков
Редактировал(а) Михаил Галич 26.11.2024, 12:16
<
>
отредактировано Михаил Галич
на 14.12.2023, 15:26
на 14.12.2023, 15:26
отредактировано Михаил Галич
на 26.11.2024, 12:15
на 26.11.2024, 12:15
Изменить комментарий:
feat: https://redmine.moipass.ru/issues/13778
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
-
Вложения (0 изменено, 16 добавлено, 0 удалено)
- 1702560922714-276.png
- 1702560957244-690.png
- 1702638034420-756.png
- 1702638265778-588.png
- 1702638427440-675.png
- 1702638705750-678.png
- 1702639385677-964.png
- 1702641274330-465.png
- 1703061675290-102.png
- 1703063138160-208.png
- 1703065328290-657.png
- 1703065338350-331.png
- 1703065356750-663.png
- 1703065952567-753.png
- 1710854841918-858.png
- 1732612477973-413.png
-
Объекты (0 изменено, 1 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -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 - 61 - 62 - 63 - 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 - 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 - 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 передаётся id112 - *##{ 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 - 158 - 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 - 171 - 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 - 184 - 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 -==== force sectorid ====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 -Тип данных:##// oolean//##523 +Тип данных:## //number//## 539 539 540 -По умолчанию:##// f alse//##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 -==== ma rketbillid====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 -==== mi nimap====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 -==== n opromo====688 +==== minimapaspect **##*##** ==== 670 670 671 -Тип данных:##// b oolean//##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 -==== no skills====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 -==== no tariffs ====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 -Тип данных:##// b oolean//##951 +Тип данных:##// number//## 840 840 841 -По умолчанию:##// f alse//##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