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