Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
// todo get api token from Wizart.
const api_token = 'CLIENT_SPECIFIC_API_TOKEN';
const server_address = 'https://pim-client.wizart.tech';

// bba (back button action) param is used to add back button to wizart component
const fittingRoomEndpoint = server_address
  + '/fitting-room'
  + '?api_token=' + api_token 
  + '&bba=true'
;

function openFittingRoom (searchQuery) {
  const componentEndpoint = searchQuery ? fittingRoomEndpoint + searchQuery : fittingRoomEndpoint;
  
  let fittingRoomObject = document.getElementById('wizart-fitting-room-object');
  const fittingRoomObjectContainer = fittingRoomObject.parentElement;

  fittingRoomObject.setAttribute('src', componentEndpoint);
  // object clonning is necessary as some browsers does not render "object" twice after changing data attribute
  const clonnedFittingRoomObject = fittingRoomObject.cloneNode(true);

  fittingRoomObjectContainer.appendChild(clonnedFittingRoomObject);
  fittingRoomObject.remove();

  clonnedFittingRoomObject.classList.add('active');
  
  // should be added to avoid duplicating scrollbars
  document.getElementsByTagName('html')[0].style.overflow = 'hidden';
}

// bba event - fired when back button is clicked at wizart component
window.addEventListener('message', function (event) {
  if (~event.origin.indexOf(server_address)) {
    // exactly 'close_overlay' as it's sent from wizart component
    if (event.data === 'close_overlay') {
      // return overflow of target page to initial state
      document.getElementsByTagName('html')[0].style.overflow = 'auto';

      document.getElementById('wizart-fitting-room-object').classList.remove('active');
    }
  }
});

3. (ОПЦИЯ) Для замены логотипа wizart на свой необходимо установить поле Опциональные параметры:

  1. logo_path

...

  1. – ссылка на

...

  1. ваш логотип. Предпочтительно в формате svg. Логотип должен занимать всю высоту картинки без отступов сверху и снизу.

...

Code Block
languagejs
const fittingRoomEndpoint = server_address
  + '/fitting-room'
  + '?api_token=' + api_token
  + '&bba=true'
;

на этот

...

languagejs

...


  1. Формат: logo_path=LINK_TO_YOUR_LOGO

...

5. Опциональные параметры:

...

  1. menu_items – дополнительные поля в меню.
    Формат: menu_items=JSON.stringify([{

...

  1. title:

...

  1. string

...

  1. }])

...

  1. do_not_show_info_about_app

...

  1. – не показывать пункт меню “О приложении“.
    Формат: do_not_show_info_about_app=1

  2. original_url – ссылка на страницу. Служит для перенаправления из постов в социальных сетях.
    Формат: original_url=link_to_your_web_site

  3. twitter_mention – mention вашего twitter аккаунта.
    Формат: twitter_mention=@your_twitter_mention

Пример интеграции:

Code Block
const fittingRoomEndpoint = server_address
  + '/fitting-room'
  + '?api_token=' + api_token
  + '&bba=true'
  + '&logo_path=LINK_TO_YOUR_LOGO'
  + '&menu_items=' + JSON.stringify([])
  + '&do_not_show_info_about_app=10'
  + '&twitter_mention=@your_twitter_mention=@mention'
  + '&original_url=LINK_TO_YOUR_WEB_SITE'
;

4. Сохраните и перенесите все изменения в рабочее окружении клиентского сайта.

...