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

Представьте, что у вас:
Без условного отображения пустые блоки будут занимать место, и страница будет выглядеть неаккуратно.
window.addEventListener("load", () => {
document.querySelectorAll('[data-check-text]').forEach(container => {
const textBlock = container.querySelector('.text-block-wrap-div');
if (!textBlock || !textBlock.textContent.trim()) {
container.style.display = 'none';
}
});
});window.addEventListener("load", ...) – Скрипт запускается после полной загрузки страницы.document.querySelectorAll('[data-check-text]') – Ищет все элементы с атрибутом data-check-text..forEach(container => { ... }) – перебирает найденные элементы.const textBlock = container.querySelector('.text-block-wrap-div') – Внутри каждого элемента ищет блок с текстом (в Taptop тексты всегда обёрнуты в .text-block-wrap-div).if (!textBlock || !textBlock.textContent.trim()) – Проверяет, есть ли текст внутри блока. Если текста нет, то container.style.display = 'none' – скрывает весь родительский элемент.data-check-text к блоку, который нужно скрывать, если он пустой.Важно! В Taptop виджет Text автоматически внутри себя создает элемент с классом .text-block-wrap-div, но в редакторе этого слоя не видно – просто знайте, что он есть. Именно в элементе text-block-wrap-div содержится текстовый контент, поэтому мы обращаемся именно к нему.
window.addEventListener("load", () => {
document.querySelectorAll('[data-check-img]').forEach(container => {
const img = container.querySelector('img');
if (!img || !img.src || !img.src.trim()) {
container.style.display = 'none';
}
});
});data-check-img.const img = container.querySelector('img') – Внутри контейнера ищет тег <img>if (!img || !img.src || !img.src.trim()) – Проверяет, есть ли у изображения атрибут src (то есть загружено ли изображение). Если src пустой, контейнер скрываетсяdata-check-img к блоку, который содержит изображение. Важно! В Taptop изображения всегда вставляются через <img>, поэтому скрипт ищет именно этот тег.
Эти скрипты помогают автоматически скрывать пустые блоки, делая страницы более аккуратными. Пока в Taptop нет встроенного Conditional Visibility, такой подход – отличное временное решение.
data-атрибуты (data-check-text или data-check-img).Теперь ваши страницы будут выглядеть идеально, даже если в коллекции разное количество данных! 🚀