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