Виджет бронирования v1.0 работает как iframe. Два способа вставки: быстрый (iframe) и кастомный (HTML-код).
Самый простой вариант — вставить блок «HTML-код» в Тильду и вставить туда iframe.
T123 (HTML-код) в нужное место страницы.
<iframe
src="https://your-server.com/widget"
width="100%"
height="900"
frameborder="0"
style="border:0;max-width:880px;margin:0 auto;display:block"
loading="lazy"
></iframe>
Замени your-server.com на адрес твоего сервера (например, satno-pms.ru).
Плюсы: изоляция стилей (не ломает Тильду), обновления виджета без правки HTML, автоматический ресайз по высоте контента.
Если хочешь, чтобы виджет был частью страницы (без iframe), скачай widget.html с сервера и вставь содержимое в блок HTML-кода Тильды.
https://your-server.com/widget → Сохрани как.
<style> и <script>.
<style>
/* все стили из widget.html */
</style>
<div class="satno-widget">
<!-- разметка виджета -->
</div>
<script>
// API URL — обязательно поменяй
window.SATNO_API = "https://your-server.com";
</script>
<script src="https://your-server.com/widget/widget.js"></script>
Минусы: сложнее обновлять, может конфликтовать со стилями Тильды.
После встраивания на Тильде проверь:
Сервер недоступен с сайта Тильды. Проверь:
https://your-server.com/api/health из браузераhttps://)JS-файл не загрузился. Проверь URL SATNO_API в консоли (F12 → Console).
Добавь в CSS Тильды (блок «Стили» → добавить стили):
.t-rec iframe {
z-index: 1 !important;
position: relative !important;
}
.htmlpublic/widget.htmlВиджет автоматически отправляет родителю свою высоту через postMessage. Если iframe не растягивается — добавь в блок HTML-кода:
<script>
window.addEventListener('message', function(e) {
if (e.data && e.data.type === 'satno-widget-resize') {
var iframe = document.querySelector('iframe[src*="/widget"]');
if (iframe) iframe.style.height = e.data.height + 'px';
}
});
</script>
После встраивания обязательно протестируй создание брони — это покажет, что CORS, SSL и API работают.