Tilda · 6 мин чтения

Настройки блоков Тильды: что решается без Zero, а где нужен код

Настройки блоков Тильды закрывают процентов восемьдесят типовых задач: отступы, шрифты, цвета, анимации, порядок элементов на мобилке. Но как только речь заходит о логике - показать блок только для повторных посетителей, ограничить промокод одним использованием на клиента, посчитать доставку СДЭК по адресу - панель разводит руками, и дальше начинается код. В статье разбираю границу между этими двумя мирами на конкретных примерах из своих проектов.

Настройки блоков в Тильде: что доступно в панели без Zero

Каждый блок в Тильде (T123, T450, T959 и так далее) собран разработчиками платформы под конкретный сценарий верстки и открывает пользователю ограниченный, но при этом довольно широкий набор параметров. В панели настроек блока обычно доступны:

  • отступы сверху и снизу, ширина контента, выравнивание
  • цвета фона, текста, кнопок, обводки для разных состояний (hover, active)
  • шрифты и их размеры отдельно для десктопа, планшета и мобильной версии
  • анимации появления блока при скролле
  • порядок и видимость колонок на разных брейкпоинтах
  • настройки формы: обязательные поля, редирект после отправки, интеграция с почтой или CRM через штатные коннекторы

На практике этого хватает для лендинга или карточного сайта, если задача - собрать заявки и красиво показать товар. Я регулярно собираю такие сайты на Tilda с нуля, и там процентов семьдесят времени уходит именно на настройку блоков через панель, без единой строчки кода.

Отдельно стоит сказать про блоки с настройками CSS-класса: почти в каждом блоке можно задать свой класс в поле «CSS-класс блока» и переопределить стили через общий код на странице. Это уже не совсем «без кода», но и не полноценная разработка - скорее промежуточный уровень, который закрывает мелкие визуальные хотелки без похода к разработчику.

Zero Block: расширенные настройки блоков без единой строчки кода

Zero Block снял часть ограничений старого конструктора: там можно рисовать произвольную сетку, добавлять кастомные отступы на уровне пикселя, комбинировать элементы так, как в T‑блоках было невозможно. Для дизайнера это огромный шаг вперед - многие вещи, которые раньше требовали верстальщика, теперь собираются мышкой.

Но у Zero Block есть потолок, и он ровно там же, где и у обычных блоков: логика. Zero прекрасно расставит текст и картинки, но не умеет:

  • проверять условия (регион пользователя, UTM-метку, время суток)
  • обращаться к внешним API - курсам валют, тарифам доставки, остаткам на складе
  • считать что-то сложнее суммы товаров в корзине
  • хранить состояние между визитами (использовал ли человек промокод)

Здесь и заканчивается работа дизайнера-конструктора и начинается работа с кодом, который добавляется через поле «Дополнительный код» в настройках блока или через код всей страницы.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Где настройки блоков Тильды не решают задачу

Чаще всего ко мне приходят с задачами, которые на первый взгляд кажутся «просто настроить блок», а по факту требуют скрипта. Вот типичные ситуации из практики.

Ограничение промокодов

Штатный модуль промокодов в Тильде работает по общему пулу: код действует до конца срока или до исчерпания количества, без привязки к конкретному покупателю. Если нужно, чтобы промокод сработал у клиента один раз, панель настроек этого не даст - требуется скрипт, который проверяет использование через localStorage, куки или запрос к внешнему хранилищу перед отправкой заказа.

Зоны доставки и расчет стоимости

Стандартная доставка в Тильде считается по фиксированным зонам или интеграции с СДЭК, но как только логика усложняется (разные тарифы для разных категорий товара, расчет по весу и габаритам, комбинация нескольких служб), приходится писать код, который дергает API службы доставки и подставляет стоимость в блок оформления заказа.

Оплата и эквайринг

Стандартные платежные системы в Тильде подключаются через панель за пару кликов, но если у бизнеса уже есть договор с конкретным банком (например, Т‑Банком) и нужна не просто оплата, а полноценная интеграция с рассрочкой, сплитом или отдельной логикой возвратов, стандартного виджета уже недостаточно - тут нужен кастомный обработчик, который встраивается в блок оформления заказа.

Расчет налогов и мультивалютность

Если сайт продает в нескольких валютах или должен показывать цену с учетом НДС по-разному для юрлиц и физлиц, панель блока такую логику не поддерживает в принципе - только код, который на лету пересчитывает цену на основе курса или ставки налога.

Доработки блоков Тильды кодом: примеры из практики

Ниже - таблица с задачами, которые регулярно встречаются в моих проектах на Тильде, и с тем, где заканчивается панель настроек.

Задача Решается панелью/Zero Нужен код Ориентир по срокам
Изменить отступы, цвета, шрифты блока да нет от 30 минут
Скрыть блок на мобильной версии да нет от 10 минут
Показать блок по региону или UTM-метке нет да 1-2 дня
Ограничить промокод одним использованием нет да 1-3 дня
Расчет доставки СДЭК по адресу и весу частично да 3-7 дней
Интеграция эквайринга Т‑Банка с кастомной логикой нет да 5-10 дней
Конвертер валют в реальном времени нет да 2-4 дня

Под часть таких задач - ограничение промокодов, расчет зон доставки, конвертацию валют, расчет налогов - у меня уже есть готовые скрипты, которые я адаптирую под конкретный блок и структуру страницы, это быстрее, чем писать с нуля.

Для задач посложнее, где типового скрипта не хватает - например, связка формы на Тильде с CRM через n8n или бот на aiogram, который забирает заявки из блока и обрабатывает их в Telegram, - делаю кастомную разработку под задачу, с учетом конкретной верстки и данных, которые нужно передавать между сервисами.

Как менять блоки Тильды кодом, не ломая верстку

За несколько лет работы с Тильдой накопил список правил, которые экономят время и нервы при доработке блоков кодом.

Не трогать структуру блока напрямую

Тильда периодически обновляет верстку своих блоков - меняет классы, добавляет обертки, переносит атрибуты. Если скрипт жестко завязан на конкретный класс вроде .t123__title, после обновления блока разработчиками платформы он может перестать находить нужный элемент. Поэтому я стараюсь вешать код на собственные CSS-классы, добавленные в поле «CSS-класс блока», а не на внутреннюю разметку Тильды.

Тестировать на копии страницы

Перед тем как менять код на боевой странице, делаю копию через панель Тильды и проверяю скрипт там. Это касается любых доработок - от простой анимации до интеграции с эквайрингом, где ошибка в коде может привести к тому, что форма оплаты вообще перестанет открываться.

Разделять код по зонам ответственности

Общий код проекта (счетчики аналитики, глобальные скрипты) держу в настройках сайта, а код, который относится к конкретному блоку (логика формы, расчет доставки в блоке заказа), - в поле «Дополнительный код» самого блока. Это упрощает отладку: сразу понятно, где искать проблему, если что-то перестало работать.

Пример простой доработки

Вот как выглядит фрагмент кода, который я добавляю в поле «Дополнительный код» блока, чтобы скрыть его для пользователей, уже отправивших заявку (проверка простая, локальная, без обращения к внешним сервисам):

document.addEventListener('DOMContentLoaded', function () {
  var block = document.querySelector('.t123');
  if (block && localStorage.getItem('lead_sent') === '1') {
    block.style.display = 'none';
  }
});

Задачи вроде интеграции с СДЭК или Т‑Банком выглядят сложнее - там код обращается к внешнему API, обрабатывает ответ и подставляет данные в блок оформления заказа, но принцип тот же: код живет в зоне блока, не трогает чужую разметку и тестируется отдельно от боевой страницы.

Частые вопросы

Сколько стоит доработка блока Тильды кодом?

Простая доработка - скрыть блок по условию, поправить логику формы, добавить кастомную анимацию - от 3 000 ₽. Комплексная интеграция вроде подключения СДЭК с расчетом по адресу, эквайринга Т‑Банка с нестандартной логикой или связки с CRM обойдется от 40 000 ₽, точная сумма зависит от количества внешних сервисов и объема логики.

Можно ли редактировать код блока прямо в Zero?

Zero Block не дает доступа к JS-логике - это визуальный редактор сетки и стилей. Код добавляется через поле «Дополнительный код» в настройках блока (доступно и для обычных T‑блоков, и для Zero Block) или через общий код страницы в настройках сайта.

Что будет с кастомным кодом при обновлении Тильдой блока?

Если код завязан на внутренние классы блока, после обновления верстки платформой он может перестать работать - Тильда не предупреждает разработчиков заранее об изменениях в структуре блоков. Поэтому я стараюсь опираться на собственные классы и минимально зависеть от внутренней разметки, но полностью исключить риск нельзя, и после крупных обновлений Тильды стоит перепроверять работоспособность кастомных скриптов на сайте.

Как понять, что задачу не решить настройками панели и нужен разработчик?

Если задача описывается словами «в зависимости от», «только для», «посчитать» или «запомнить между визитами» - скорее всего, панель настроек тут бессильна и нужен код. Простое изменение внешнего вида, наоборот, почти всегда можно сделать через стандартные настройки блока или Zero, без обращения к разработчику.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно