Изменения документа Для_разработчиков
Редактировал(а) Михаил Галич 26.11.2024, 12:16
<
>
отредактировано Михаил Галич
на 11.12.2023, 14:01
на 11.12.2023, 14:01
отредактировано Михаил Галич
на 12.12.2023, 11:26
на 12.12.2023, 11:26
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,12 +1,15 @@ 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 9 -{{{<script type="text/javascript"> 11 +{{code language="html"}} 12 +<script type="text/javascript"> 10 10 // инициализируем виджет с параметрами 11 11 WPInit({ 12 12 id: 1, ... ... @@ -27,13 +27,13 @@ 27 27 // если заказ оплачен, занесём данные из response.data.order_id себе на сайт 28 28 } 29 29 } 30 -</script>}}} 33 +</script> 34 +{{/code}} 31 31 36 += Функции = 32 32 33 -== Функции==38 +== WPInit({params}) == 34 34 35 -=== WPInit({params}) === 36 - 37 37 Функция загрузки виджета с параметризацией, при создании необходимо передать id виджета, который можно найти в Административной панели 38 38 39 39 ===== Минимальный способ инициализации: ===== ... ... @@ -44,25 +44,29 @@ 44 44 45 45 Виджет можно инициализировать с различными параметрами, все из них опциональные, кроме id. 46 46 47 -{{{WPInit({ 50 +{{code language="javascript"}} 51 +WPInit({ 48 48 id: 1, 49 49 width: 400, 50 50 height: 600, 51 51 type: 'modal' 52 -})}}} 56 +}) 57 +{{/code}} 53 53 54 -== =WPOpen({params}) ===59 +== WPOpen({params}) == 55 55 56 56 Функция открытия виджета в каком-либо блоке, используется при инициализации виджета с type: 'instant' 57 57 58 58 ===== Пример передаваемых данных: ===== 59 59 60 -{{{// показ виджета с группой id 5 65 +{{code language="javascript"}} 66 +// показ виджета с группой id 5 61 61 WPOpen({ 62 62 groupid: [5] 63 -})}}} 69 +}) 70 +{{/code}} 64 64 65 -== =WPOpenModal({params}) ===72 +== WPOpenModal({params}) == 66 66 67 67 Функция открытия виджета в модальном окне, используется при инициализации виджета с type: 'modal' 68 68 ... ... @@ -70,7 +70,7 @@ 70 70 71 71 {{{// показ виджета на нажатие кнопки с id "OpenButton" var OpenButton = document.getElementById('OpenButton'); OpenButton.onclick = function() { WPOpenModal({ tariffsid: [27, 28] }) }}}} 72 72 73 -== =WPChange({status, data}) ===80 +== WPChange({status, data}) == 74 74 75 75 Функция, которая вызывается каждый раз при изменении состояния виджета. Каждый раз передаёт в переменной response состояние в status и опционально данные в data. При переопределении этой функции у себя на странице, администратор может следить за состоянием виджета и статусом заказа из javascript 76 76 ... ... @@ -83,17 +83,32 @@ 83 83 84 84 ===== Пример работы с данными: ===== 85 85 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 } }}}} 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}} 87 87 88 -= =Параметры ==110 += Параметры = 89 89 90 -== ==Обязательные параметры WPInit ====112 +== Обязательные параметры WPInit == 91 91 92 92 ==== id: 1 ==== 93 93 94 94 id виджета, который можно узнать в Административной панели 95 95 96 -== ==Возможные параметры WPInit ====118 +== Возможные параметры WPInit == 97 97 98 98 ==== height: 480 ==== 99 99 ... ... @@ -125,11 +125,11 @@ 125 125 **Важно:** элемент DOM для place должен быть либо на странице до вставки инициализации виджета (WPInit), либо инициализация виджета должна быть исполнена после загрузки DOM (например, обёрнута в событие $(document).ready(function(){}) в jQuery) 126 126 ))) 127 127 128 - ==== ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-- ====150 +---- 129 129 130 -== ==Возможные параметры WPOpen и WPOpenModal ====152 +== Возможные параметры WPOpen и WPOpenModal == 131 131 132 -=== ==Календарь и даты =====154 +=== Календарь и даты === 133 133 134 134 ==== nocalendar: false ==== 135 135 ... ... @@ -147,45 +147,31 @@ 147 147 148 148 Параметр для открывания виджета с указанной сразу датой (и в //покупке// и в //пополнении//). forcedate: '20.05.2018' покажет услуги к продаже на дату 20.05.2018. 149 149 150 -==== disableddates: ['23.02.2019' ==== 172 +==== disableddates: ['23.02.2019', … ] ==== 151 151 152 -==== , … ] ==== 153 - 154 154 Параметр отключения дат в календаре (и в //покупке// и в //пополнении//). Делает невозможным выбор определённых дней в массиве дат. 155 155 Пример использования: disableddates: ['23.02.2018', '08.03.2018'] уберёт даты 23.02.2018 и 08.03.2018 из возможных для выбора дат в календаре. 156 156 157 - ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--177 +---- 158 158 159 -=== ==Услуги, пакеты услуг, группы услуг =====179 +=== Услуги, пакеты услуг, группы услуг === 160 160 161 -==== tariffsid: [29 ==== 181 +==== tariffsid: [29, 30, … ] ==== 162 162 163 -==== , 30 ==== 164 - 165 -==== , … ] ==== 166 - 167 167 Тарифы, которые следует показать на вкладке «Покупка услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него. 168 168 Пример использования: 169 169 tariffsid: [29, 30] покажет тарифы с id 29 и 30 во вкладке «Покупка услуг». 170 170 tariffsid: false уберёт все тарифы с первой страницы 171 171 172 -==== rtariffsid: [56 ==== 188 +==== rtariffsid: [56, 57, … ] ==== 173 173 174 -==== , 57 ==== 175 - 176 -==== , … ] ==== 177 - 178 178 Тарифы, которые следует показать после ввода карты во вкладке «Пополнение услуг». По умолчанию массив пуст и не показывает отдельно никакие из услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать услуги, доступные только для него. 179 179 Пример использования: 180 180 rtariffsid: [56, 57] покажет тарифы с id 56 и 57 после ввода карты во вкладке «Пополнение услуг» 181 181 tariffsid: false уберёт все тарифы с первой страницы 182 182 183 -==== bundlesid: [4 ==== 195 +==== bundlesid: [4, 5, … ] ==== 184 184 185 -==== , 5 ==== 186 - 187 -==== , … ] ==== 188 - 189 189 Пакеты услуг, которые следует показать на первой странице. По умолчанию массив пуст и не показывает отдельно никакие из пакетов услуг. Используется для принудительной фильтрации в том случае, когда определённому пользователю необходимо показывать пакеты услуг, доступные только для него. 190 190 Пример использования: 191 191 bundlesid: [4, 5] покажет пакеты услуг с id 4 и 5 в момент открытия виджета. ... ... @@ -195,18 +195,12 @@ 195 195 196 196 Параметр, который форсирует показ определённой группы услуг ппс. groupid: 5 покажет только одну группу с id 5 в виджете. 197 197 198 - ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~--206 +---- 199 199 200 -=== ==Предзаказ =====208 +=== Предзаказ === 201 201 202 -==== preorder: [{id: 57 ==== 210 +==== preorder: [{id: 57, date: '06.06.2019', count: 1}, … ] ==== 203 203 204 -==== , date: '06.06.2019' ==== 205 - 206 -==== , count: 1 ==== 207 - 208 -==== }, … ] ==== 209 - 210 210 Параметр, позволяющий купить сразу несколько услуг и перейти к подтверждению покупки. 211 211 212 212 * id — id услуги к покупке ... ... @@ -215,7 +215,8 @@ 215 215 216 216 ===== Пример передаваемых данных: ===== 217 217 218 -{{{// либо WPOpenModal({}) 220 +{{code language="javascript"}} 221 +// либо WPOpenModal({}) 219 219 WPOpen({ 220 220 preorder: [ 221 221 { ... ... @@ -228,9 +228,10 @@ 228 228 count: 2 229 229 } 230 230 ] 231 -})}}} 234 +}) 235 +{{/code}} 232 232 233 -=== ==Отображение =====237 +=== Отображение === 234 234 235 235 ==== forcetab: 'rewrite' ==== 236 236 ... ... @@ -243,7 +243,6 @@ 243 243 * onlytab: 'service' покажет только вкладку «покупка услуг». 244 244 * onlytab: 'rewrite' покажет только вкладку «пополнение услуг». 245 245 246 - 247 247 ==== forcemedia: 'E0012345678900' ==== 248 248 249 249 Параметр, который вставяет строчку с носителем в поле носителя во вкладке «Пополнение услуг». Используется, например, для QR-кода нанесённого на носитель, чтобы быстро его пополнить. ... ... @@ -258,40 +258,38 @@ 258 258 259 259 ==== cartmaxitems: 5 ==== 260 260 261 -==== ==== 262 - 264 +(% class="wikigeneratedid" %) 263 263 Ограничивает максимальное кол-во товаров в корзине. Минимальное значение 1. Максимальное значение 60. По умолчанию 6 264 264 265 265 ==== cartminitems: 2 ==== 266 266 267 -==== 269 +==== ==== 268 268 269 269 Ограничивает минимальное кол-во товаров в корзине. Минимальное значение 1. Максимальное значение 60. По умолчанию 1 270 270 271 271 ==== locale: 'ru' ==== 272 272 273 -==== 275 +==== ==== 274 274 275 275 Параметр локализации. Позволяет переключать между языками виджета, например 'ru' - русский язык, 'en' - английский язык. 276 276 277 277 ==== ordercomment: 'Комментарий к заказу' ==== 278 278 279 -==== 281 +==== ==== 280 280 281 281 Опциональный комментарий к заказу. Максимальная длинна комментария 50 символов. 282 282 283 283 ==== disablemultipleseances: true ==== 284 284 285 -==== 287 +==== ==== 286 286 287 287 Параметр предотвращает добавление в корзину тарифов с различными сеансами. 288 288 Таким образом как только в корзине появится хоть один товар с сеансом "10:00 - 11:30", товары, у которых есть сеанс например "13:00 - 14:30" будет невозможно добавить в корзину. Товары без сеансов не будут затронуты. 289 289 По умолчанию false 290 290 291 - 292 292 ==== tariffsseancesfilter: true ==== 293 293 294 -==== 295 +==== ==== 295 295 296 296 [[image:https://info.moipass.ru/images/tariffsseancesfilter.png||alt="Example"]] 297 297 ... ... @@ -299,63 +299,55 @@ 299 299 300 300 ==== resetcart: true ==== 301 301 302 -==== 303 +==== ==== 303 303 304 304 Автоматически очищать содержимое корзины. По умолчанию false 305 305 306 306 ==== minimap: false ==== 307 307 308 -==== 309 +==== ==== 309 309 310 310 Отображать миникарту. По умолчанию true 311 311 312 312 ==== minimapaspect: 0.5 ==== 313 313 314 -==== 315 +==== ==== 315 315 316 316 Размер миникарты относительной полного размера карты, а не контейнера, в которой она находится. По умолчанию 0.2 317 317 318 318 ==== forceseanceid: 42 ==== 319 319 320 -==== 321 +==== ==== 321 321 322 322 Заставит виджет выбрать мероприятие арены по идентификатору платформы и не позволять вернуться к этапу выбора других мероприятий. Без указания идентификатора не учитывается. 323 323 324 324 ==== forcesectorid: 42 ==== 325 325 326 -==== 327 +==== ==== 327 327 328 328 Заставит виджет выбрать сектор мероприятия по id и не позволять вернуться к этапу выбора других секторов. Без указания идентификатора не учитывается. 329 329 330 330 ==== requiredloyalty: true ==== 331 331 332 -==== 333 +==== ==== 333 333 334 334 Включает обязательную регистриацию клиента в программе настроенной на объектке. По умолчанию false 335 335 336 -==== personallessonsskillstariffs: [56 ==== 337 +==== personallessonsskillstariffs: [56, 57, … ] ==== 337 337 338 -==== ,57====339 +==== ==== 339 339 340 -==== , … ] ==== 341 - 342 -==== ==== 343 - 344 344 Производит фильтрацию тарифов для индивидуальных занятий. Принимает массив идентификаторов. По умолчанию [] 345 345 346 -==== multidayslessonsskillstariffs: [56 ==== 343 +==== multidayslessonsskillstariffs: [56, 57, … ] ==== 347 347 348 -==== ,57====345 +==== ==== 349 349 350 -==== , … ] ==== 351 - 352 -==== ==== 353 - 354 354 Производит фильтрацию тарифов для многодневных занятий. Принимает массив идентификаторов. Параметр дополняет фильтрацию по параметру grouplessonsskillstariffs. По умолчанию [] 355 355 356 356 ==== saletermstype: 'checkbox' ==== 357 357 358 -==== 351 +==== ==== 359 359 360 360 Перед оплатой просит пользователя согласиться с правилами в форме галочки или всплывающего окна 361 361 ... ... @@ -364,7 +364,3 @@ 364 364 * saletermstype: 'default' принятие правил не требуется. 365 365 366 366 По умолчанию 'default' 367 - 368 - 369 - 370 -