# Разширени опции за вграждане

> Уиджетът за вграждане приема повече конфигурации, отколкото показва фрагментът за копиране и поставяне, включително предаване на клиентски опции към страницата за плащане, която отваря.

Кодовете за вграждане, генерирани във вашия Entase акаунт, добавят готов уиджет за събитие в страница. Те са предназначени за копиране и поставяне без необходимост от разработка – вижте [Вграждане на събития във вашия уебсайт](/organizers/sharing-and-embedding/embedding-events-on-your-website.md), за да научите как да получите такъв.

Тази страница описва опциите, които можете да добавите към този фрагмент, и как да конфигурирате страницата за плащане, която той отваря.

Уиджетът сам зарежда JavaScript клиента, така че не добавяйте `client.js` редом с него. Не му е необходим и публикуем ключ: уиджетът се предоставя от Entase, така че страницата за плащане се упълномощава чрез уиджета, а не чрез ключ на вашата страница.

## Конфигурация

Всеки уиджет се конфигурира с обект с опции:

```html
<div id="entase_OBJ_CODE"></div>
<script>
  window.entase = window.entase || { o: [] };
  window.entase.o.push({
    obj: 'OBJ_CODE',
    theme: 'dark',
    ext: true
  });
</script>
<script src="https://js.entase.com/embed.js" async></script>
```

`obj` свързва конфигурацията с нейния контейнер: уиджетът се визуализира в елемента, чийто id е `entase_`, последвано от същия код. Ако този елемент липсва, уиджетът записва предупреждение и не визуализира нищо.

Добавете по един запис за всеки уиджет, за да разположите няколко на една страница.

| Име | Тип | По подразбиране | Описание |
|---|---|---|---|
| `obj` | низ |  –  | Кодът на обекта от вашия фрагмент за вграждане. Задължително. |
| `width` | низ | `'auto'` | Ширината на контейнера като CSS стойност. `'auto'` означава пълна ширина. |
| `height` | низ | `'auto'` | Височината на контейнера като CSS стойност. При `'auto'` започва от 200px и уиджетът сам променя размера си, за да побере съдържанието си. |
| `theme` | низ | `'light'` | `'light'` или `'dark'`. |
| `locale` | низ | `'auto'` | Език на уиджета. `'auto'` чете атрибута `lang` на вашия елемент `<html>`. |
| `ext` | булева стойност | `false` | Разширено оформление – добавя името на събитието и плаката над датите. |
| `attribution` | булева стойност | `true` | Показва реда за обозначаване на Entase. Задайте `false`, за да го скриете. |
| `client` | обект | `{}` | Опции, предавани към JavaScript клиента, който отваря страницата за плащане. |

На контейнера се задава минимална ширина от 200px независимо от `width`; под тази стойност уиджетът не може да се подреди правилно.

## Конфигуриране на страницата за плащане

`client` приема същите опции като конструктора на клиента, така че страницата за плащане, отворена от уиджет, може да бъде стилизирана и оразмерена като такава, която отваряте сами:

```js
window.entase.o.push({
  obj: 'OBJ_CODE',
  client: {
    checkoutMode: 'pane',
    pane: { width: '60vw' },
    backdrop: true,
    backdropColor: '#101014'
  }
});
```

Вижте [Опции на конструктора](/developers/js-client/constructor-options.md) за пълния списък.

Две уточнения. `tprm` се задава от самия уиджет чрез URL адреса на страницата (вижте по-долу), така че подадена тук стойност се заменя. А когато няколко уиджета споделят една страница, те споделят един екземпляр на клиента – в сила са опциите за `client` на последния инициализиран уиджет, затова ги поддържайте еднакви за всички уиджети на една и съща страница.

## Автоматично препращане на кампании

За разлика от самостоятелния клиент, уиджетът прочита низа със заявка на вашата страница и препраща познатите параметри на кампанията както към уиджета, така и към страницата за плащане:

`sgm`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`, `utm_id`, `utm_source_platform`, `utm_creative_format`, `fbclid`

Посетител, който пристигне на `yoursite.com/concert?utm_source=facebook&sgm=SOCIAL`, ще има това приписване записано към всяка получена поръчка без допълнителна конфигурация. Параметрите извън този списък се игнорират – за да предадете собствени, отворете страницата за плащане директно с клиента и сами задайте `tprm`. Вижте [Проследяване и съгласие](/developers/js-client/tracking-and-consent.md).
