Изменения документа Для_разработчиков
Редактировал(а) Михаил Галич 26.11.2024, 12:16
<
>
отредактировано Михаил Галич
на 12.12.2023, 10:55
на 12.12.2023, 10:55
отредактировано Михаил Галич
на 12.12.2023, 11:27
на 12.12.2023, 11:27
Изменить комментарий:
Убрал пустые заголовки 4
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,8 +1,10 @@ 1 - ==Для разработчиков==1 +{{toc depth="4"/}} 2 2 3 += Инструкция для подключения = 4 + 3 3 Назначение данного раздела — описать способы взаимодействия с виджетом Веб-платформы по задуманому вами сценарию. Типичный процесс подключения, открытия и отслеживания виджета выглядит так: 4 4 5 -~1. Подключите скрипт external.script.js к вашему сайту. Его адрес будет доступен **после добавления сайта** в процессе настройки в **администраторской панели Веб-Платформы**, так же как и параметр id для подключения 7 +~1. Подключите скрипт ##external.script.js## к вашему сайту. Его адрес будет доступен **после добавления сайта** в процессе настройки в **администраторской панели Веб-Платформы**, так же как и параметр ##id## для подключения 6 6 7 7 2. Вставьте в необходимом месте на своём сайте код: 8 8 ... ... @@ -31,9 +31,9 @@ 31 31 </script> 32 32 {{/code}} 33 33 34 -= =Функции ==36 += Функции = 35 35 36 -== =WPInit({params}) ===38 +== WPInit({params}) == 37 37 38 38 Функция загрузки виджета с параметризацией, при создании необходимо передать id виджета, который можно найти в Административной панели 39 39 ... ... @@ -54,7 +54,7 @@ 54 54 }) 55 55 {{/code}} 56 56 57 -== =WPOpen({params}) ===59 +== WPOpen({params}) == 58 58 59 59 Функция открытия виджета в каком-либо блоке, используется при инициализации виджета с type: 'instant' 60 60 ... ... @@ -67,7 +67,7 @@ 67 67 }) 68 68 {{/code}} 69 69 70 -== =WPOpenModal({params}) ===72 +== WPOpenModal({params}) == 71 71 72 72 Функция открытия виджета в модальном окне, используется при инициализации виджета с type: 'modal' 73 73 ... ... @@ -75,7 +75,7 @@ 75 75 76 76 {{{// показ виджета на нажатие кнопки с id "OpenButton" var OpenButton = document.getElementById('OpenButton'); OpenButton.onclick = function() { WPOpenModal({ tariffsid: [27, 28] }) }}}} 77 77 78 -== =WPChange({status, data}) ===80 +== WPChange({status, data}) == 79 79 80 80 Функция, которая вызывается каждый раз при изменении состояния виджета. Каждый раз передаёт в переменной response состояние в status и опционально данные в data. При переопределении этой функции у себя на странице, администратор может следить за состоянием виджета и статусом заказа из javascript 81 81 ... ... @@ -88,17 +88,32 @@ 88 88 89 89 ===== Пример работы с данными: ===== 90 90 91 -{{{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 } }}}} 93 +{{code language="javascript"}} 94 +WPChange = function(response) { 95 + if (response.status == 'starting') { 96 + // действие на внешней странице 97 + } 98 + if (response.status == 'started') { 99 + // действие на внешней странице 100 + } 101 + if (response.status == 'reserved') { 102 + // id зарезервированного заказа: response.data.order_id 103 + } 104 + if (response.status == 'completed') { 105 + // id оплаченного заказа: response.data.order_id 106 + } 107 +} 108 +{{/code}} 92 92 93 -= =Параметры ==110 += Параметры = 94 94 95 -== ==Обязательные параметры WPInit ====112 +== Обязательные параметры WPInit == 96 96 97 97 ==== id: 1 ==== 98 98 99 99 id виджета, который можно узнать в Административной панели 100 100 101 -== ==Возможные параметры WPInit ====118 +== Возможные параметры WPInit == 102 102 103 103 ==== height: 480 ==== 104 104 ... ... @@ -130,11 +130,11 @@ 130 130 **Важно:** элемент DOM для place должен быть либо на странице до вставки инициализации виджета (WPInit), либо инициализация виджета должна быть исполнена после загрузки DOM (например, обёрнута в событие $(document).ready(function(){}) в jQuery) 131 131 ))) 132 132 133 - ==== ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-- ====150 +---- 134 134 135 -== ==Возможные параметры WPOpen и WPOpenModal ====152 +== Возможные параметры WPOpen и WPOpenModal == 136 136 137 -=== ==Календарь и даты =====154 +=== Календарь и даты === 138 138 139 139 ==== nocalendar: false ==== 140 140 ... ... @@ -152,45 +152,31 @@ 152 152 153 153 Параметр для открывания виджета с указанной сразу датой (и в //покупке// и в //пополнении//). forcedate: '20.05.2018' покажет услуги к продаже на дату 20.05.2018. 154 154 155 -==== disableddates: ['23.02.2019' ==== 172 +==== disableddates: ['23.02.2019', … ] ==== 156 156 157 -==== , … ] ==== 158 - 159 159 Параметр отключения дат в календаре (и в //покупке// и в //пополнении//). Делает невозможным выбор определённых дней в массиве дат. 160 160 Пример использования: disableddates: ['23.02.2018', '08.03.2018'] уберёт даты 23.02.2018 и 08.03.2018 из возможных для выбора дат в календаре. 161 161 162 - ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--177 +---- 163 163 164 -=== ==Услуги, пакеты услуг, группы услуг =====179 +=== Услуги, пакеты услуг, группы услуг === 165 165 166 -==== tariffsid: [29 ==== 181 +==== tariffsid: [29, 30, … ] ==== 167 167 168 -==== , 30 ==== 169 - 170 -==== , … ] ==== 171 - 172 172 Тарифы, которые следует показать на вкладке «Покупка услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него. 173 173 Пример использования: 174 174 tariffsid: [29, 30] покажет тарифы с id 29 и 30 во вкладке «Покупка услуг». 175 175 tariffsid: false уберёт все тарифы с первой страницы 176 176 177 -==== rtariffsid: [56 ==== 188 +==== rtariffsid: [56, 57, … ] ==== 178 178 179 -==== , 57 ==== 180 - 181 -==== , … ] ==== 182 - 183 183 Тарифы, которые следует показать после ввода карты во вкладке «Пополнение услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него. 184 184 Пример использования: 185 185 rtariffsid: [56, 57] покажет тарифы с id 56 и 57 после ввода карты во вкладке «Пополнение услуг» 186 186 tariffsid: false уберёт все тарифы с первой страницы 187 187 188 -==== bundlesid: [4 ==== 195 +==== bundlesid: [4, 5, … ] ==== 189 189 190 -==== , 5 ==== 191 - 192 -==== , … ] ==== 193 - 194 194 Пакеты услуг, которые следует показать на первой странице. По умолчанию массив пуст и не показывает отдельно никакие из пакетов услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать пакеты услуг, доступные только для него. 195 195 Пример использования: 196 196 bundlesid: [4, 5] покажет пакеты услуг с id 4 и 5 в момент открытия виджета. ... ... @@ -200,18 +200,12 @@ 200 200 201 201 Параметр, который форсирует показ определённой группы услуг ппс. groupid: 5 покажет только одну группу с id 5 в виджете. 202 202 203 - ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--206 +---- 204 204 205 -=== ==Предзаказ =====208 +=== Предзаказ === 206 206 207 -==== preorder: [{id: 57 ==== 210 +==== preorder: [{id: 57, date: '06.06.2019', count: 1}, … ] ==== 208 208 209 -==== , date: '06.06.2019' ==== 210 - 211 -==== , count: 1 ==== 212 - 213 -==== }, … ] ==== 214 - 215 215 Параметр, позволяющий купить сразу несколько услуг и перейти к подтверждению покупки. 216 216 217 217 * id — id услуги к покупке ... ... @@ -220,7 +220,8 @@ 220 220 221 221 ===== Пример передаваемых данных: ===== 222 222 223 -{{{// либо WPOpenModal({}) 220 +{{code language="javascript"}} 221 +// либо WPOpenModal({}) 224 224 WPOpen({ 225 225 preorder: [ 226 226 { ... ... @@ -233,9 +233,10 @@ 233 233 count: 2 234 234 } 235 235 ] 236 -})}}} 234 +}) 235 +{{/code}} 237 237 238 -=== ==Отображение =====237 +=== Отображение === 239 239 240 240 ==== forcetab: 'rewrite' ==== 241 241 ... ... @@ -262,41 +262,29 @@ 262 262 263 263 ==== cartmaxitems: 5 ==== 264 264 265 -==== ==== 266 - 264 +(% class="wikigeneratedid" %) 267 267 Ограничивает максимальное кол-во товаров в корзине. Минимальное значение 1. Максимальное значение 60. По умолчанию 6 268 268 269 269 ==== cartminitems: 2 ==== 270 270 271 -==== ==== 272 - 273 273 Ограничивает минимальное кол-во товаров в корзине. Минимальное значение 1. Максимальное значение 60. По умолчанию 1 274 274 275 275 ==== locale: 'ru' ==== 276 276 277 -==== ==== 278 - 279 279 Параметр локализации. Позволяет переключать между языками виджета, например 'ru' - русский язык, 'en' - английский язык. 280 280 281 281 ==== ordercomment: 'Комментарий к заказу' ==== 282 282 283 -==== ==== 284 - 285 285 Опциональный комментарий к заказу. Максимальная длинна комментария 50 символов. 286 286 287 287 ==== disablemultipleseances: true ==== 288 288 289 -==== ==== 290 - 291 291 Параметр предотвращает добавление в корзину тарифов с различными сеансами. 292 292 Таким образом как только в корзине появится хоть один товар с сеансом "10:00 - 11:30", товары, у которых есть сеанс например "13:00 - 14:30" будет невозможно добавить в корзину. Товары без сеансов не будут затронуты. 293 293 По умолчанию false 294 294 295 - 296 296 ==== tariffsseancesfilter: true ==== 297 297 298 -==== ==== 299 - 300 300 [[image:https://info.moipass.ru/images/tariffsseancesfilter.png||alt="Example"]] 301 301 302 302 Включить отображение фильтра тарифов по сеансам. По умолчанию false ... ... @@ -303,64 +303,38 @@ 303 303 304 304 ==== resetcart: true ==== 305 305 306 -==== ==== 307 - 308 308 Автоматически очищать содержимое корзины. По умолчанию false 309 309 310 310 ==== minimap: false ==== 311 311 312 -==== ==== 313 - 314 314 Отображать миникарту. По умолчанию true 315 315 316 316 ==== minimapaspect: 0.5 ==== 317 317 318 -==== ==== 319 - 320 320 Размер миникарты относительной полного размера карты, а не контейнера, в которой она находится. По умолчанию 0.2 321 321 322 322 ==== forceseanceid: 42 ==== 323 323 324 -==== ==== 325 - 326 326 Заставит виджет выбрать мероприятие арены по идентификатору платформы и не позволять вернуться к этапу выбора других мероприятий. Без указания идентификатора не учитывается. 327 327 328 328 ==== forcesectorid: 42 ==== 329 329 330 -==== ==== 331 - 332 332 Заставит виджет выбрать сектор мероприятия по id и не позволять вернуться к этапу выбора других секторов. Без указания идентификатора не учитывается. 333 333 334 334 ==== requiredloyalty: true ==== 335 335 336 -==== ==== 337 - 338 338 Включает обязательную регистриацию клиента в программе настроенной на объектке. По умолчанию false 339 339 340 -==== personallessonsskillstariffs: [56 ==== 315 +==== personallessonsskillstariffs: [56, 57, … ] ==== 341 341 342 -==== , 57 ==== 343 - 344 -==== , … ] ==== 345 - 346 -==== ==== 347 - 348 348 Производит фильтрацию тарифов для индивидуальных занятий. Принимает массив идентификаторов. По умолчанию [] 349 349 350 -==== multidayslessonsskillstariffs: [56 ==== 319 +==== multidayslessonsskillstariffs: [56, 57, … ] ==== 351 351 352 -==== , 57 ==== 353 - 354 -==== , … ] ==== 355 - 356 -==== ==== 357 - 358 358 Производит фильтрацию тарифов для многодневных занятий. Принимает массив идентификаторов. Параметр дополняет фильтрацию по параметру grouplessonsskillstariffs. По умолчанию [] 359 359 360 360 ==== saletermstype: 'checkbox' ==== 361 361 362 -==== ==== 363 - 364 364 Перед оплатой просит пользователя согласиться с правилами в форме галочки или всплывающего окна 365 365 366 366 * saletermstype: 'checkbox' потребует установку галочки для согласия.