Настройка виджета

Настройка серверного файла service.php

Серверный файл service.php всегда должен быть расположен на вашем сервере в директории виджета по пути scripts/service.php. Необходимо прописать в service.php id партнера для авторизации при запросах виджета к серверу. Сделать это нужно в самом начале класса IVoltService:

class IVoltService
{
    protected $sPartnerKey = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; //Partner API key
    protected $sURL = 'https://voltmarket.ru/ipol/widjet/'; //URL запросов API
...

Пример создания виджета с указанием всех настроек

<p>Пример инициализации виджета с указанием всех параметров виджета</p>
<a href='javascript:void(0);' onclick='widjet.open()'>Показать ПВЗ</a>
<div id="forpvz" style="height:600px;"></div>

<script type="text/javascript">
   var widjet = new IVOLTWidjet({
       yandex_key: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', //ключ API Я.Карт
       showWarns: true,
       showErrors: true,
       showLogs: true,
       hideMessages: false,
       path: 'https://voltmarket.ru/ipol/widjet/scripts/',
       servicepath: 'https://your-site.here/widjet/scripts/service.php', //ссылка на файл service.php на вашем сайте
       templatepath: 'https://voltmarket.ru/ipol/widjet/scripts/template.php',
       choose: true,
       filter: true,
       popup: true,
       defaultCity: 'Уфа',
       link: false,
       hidedelt: false,
       products: [7105],
       onReady: onReady,
       onChoosePVZ: onChoosePVZ,
       onChooseCourier: onChooseCourier,
       onCalculate: onCalculate
   });

   function onReady() {
       console.log('ready');
   }

   function onChoosePVZ(wat) {
       console.log('chosen', wat);
       console.log(
           'Выбран пункт выдачи заказа ' + wat.id + "\n" +
           'Id доставки ' + wat.deliveryId + "\n" +
           'Code службы доставки ' + wat.deliveryCode + "\n" +
           'Code профиля доставки ' + wat.deliveryProfile + "\n" +
           'Название доставки ' + wat.deliveryName + "\n" +
           'цена ' + wat.price + "\n" +
           'срок ' + wat.term + "\n" +
           'город ' + wat.cityName + ' (код: ' + wat.city + ')'
       );
   }

   function onChooseCourier(wat) {
       console.log('chosenCourier', wat);
       console.log(
           'Выбрана доставка курьером в город ' + wat.city + "\n" +
           'Id доставки ' + wat.deliveryId + "\n" +
           'Code службы доставки ' + wat.deliveryCode + "\n" +
           'Code профиля доставки ' + wat.deliveryProfile + "\n" +
           'Название доставки ' + wat.deliveryName + "\n" +
           'цена ' + wat.price + "\n" +
           'срок ' + wat.term
       );
   }

   function onCalculate(wat) {
       console.log('calculated', wat);
   }
</script>

Пример инициализации виджета с указанием всех параметров можно увидеть в файле example3-1.html

Описание серверных настроек виджета

showWarns

Значение: true / false
Значение по умолчанию: true
Если установлено true – выводит в консоль браузера предупреждения о некритичных ошибках работы виджета.

showErrors

Значение: true / false
Значение по умолчанию: true
Если установлено true – выводит в консоль браузера предупреждения о критических ошибках работы виджета.

hideMessages

Значение: true / false
Значение по умолчанию: false
Единый ключ для отключения всех оповещений виджета. Выставление в true равносильно выставлению всех вышеуказанных настроек оповещения в false.

path

Значение: string
Значение по умолчанию: директория scripts относительно файла widjet.js.
Необходимо устанавливать путь к скриптам виджета, если они лежат отдельно от загрузчика widjet.js. Иначе можно оставить пустым.
Тогда, если у вас файл widjet.js расположен по адресу http://yoursite.net/scripts/widget/widjet.js, то переменная будет указывать на адрес http://yoursite.net/scripts/widget/scripts/

templatepath

Значение: string
Значение по умолчанию: {path}/template.php
Путь к шаблону виджета, если он лежит отдельно от загрузчика widjet.js. Иначе можно оставить пустым.

servicepath

Значение: string
Значение по умолчанию: {path}/service.php
Путь к php файлу для расчетов виджета, если он лежит отдельно от загрузчика widjet.js. Иначе можно оставить пустым.

template

Значение: string
Значение по умолчанию: default
Шаблон виджета по-умолчанию. Сейчас предусмотрен только один шаблон default.

optimalDelivery

Значение: true / false
Значение по умолчанию: true
По-умолчанию происходит отбор оптимальных профилей доставки и самовывоза из всех доступных служб доставки для текущих параметров. Эти оптимальные профили будут показаны в блоке доставки. Отбор происходит по стоимости. При отключенной опции в блок доставки выводятся все доступные службы доставки с разбиением по профилям.

Описание настроек отображения виджета

choose

Значение: true / false
Значение по умолчанию: true
Управление кнопкой «Выбрать» в описании ПВЗ. Если выставлено в false – кнопка не будет отображаться, что подходит для инфовиджета в разделе «Доставка». Если true – кнопка показывается с возможностью подписаться на выбор ПВЗ с помощью события onChoose.
Пример сокрытия кнопки выбора ПВЗ указан в файле example3-3-1.html

Значение: id элемента
Значение по умолчанию: false
Если опция задана (не false) – то виджет считается статичным (всегда располагается на странице). Значением опции должен быть id того тега, в который будет помещен виджет. Если опция не задана – виджет автоматически открывается на весь экран (если не указана опция popup).
Почти во всех примерах было задано значение этого параметра, в примере example3-3-2.html мы установили значение этому параметру = false.

popup

Значение: true / false
Значение по умолчанию: false
Если опция задана (true) – виджет считается всплывающим, и отображается только через метод open.
Работа этого параметра отображена в файле example3-3-3.html

hidedelt

Значение: true / false
Значение по умолчанию: false
Если опция задана (true) – то скрывается панель, на которой отображены варианты доставки.
Работа этого параметра отображена в файле example3-3-6.html

filter

Значение: true / false
Значение по умолчанию: false
Если опция задана (true) – то показывает панель фильтра, на которой отображены некоторые возможные варианты фильтрации ПВЗ: по сроку доставки - сегодня или завтра, по оплате картой.

Настройки доставки

defaultCity

Значение: string, название города, также разрешено использование значение auto, чтобы автоматически определить город клиента средствами Яндекса и отобразить его на карте.
Значение по умолчанию: Москва
Город, который будет отображен на карте при старте виджета и на котором будут загружены пункты выдачи заказов.
Пример использования параметра defaultCity со значением auto отображен в файле example3-4-1.html

products

Значение: object / false
Значение по умолчанию: false
Список ID товаров для расчета стоимости и сроков доступных служб доставок. Задается в формате массива: [7105, 7106]. Если не задан или установлено false, то расчет произведен не будет.
Товары с параметрами доступны в файлах экспорта.