Узнать стоимость проекта

Код помогает модифицировать цвет бейджа и текста в нем в зависимости от названия. Например «Хит» сделать красным, а «Новинка» желтым

Меняем цвет отметки на карточке товара Тильда в зависимости от текста в нем

Инструкция

Добавьте разные отметки на карточке товара в настройках "Товары"
Вставьте код в блок "Другое" - Т123 в подвал вашего сайта
Замените в коде цвет текста и фона, введите названия отметок.
Код скопирован
Код для вставки:
Код написан на коленке, используйте осторожно. Не оказываем поддержку и доработку модификаций!
<!-- Меняем цвет отметок на карточке товара Тильда в зависимости от текста в нем | youx.agency -->
<!-- https://youx.agency/menyaem-czvet-bejdzha-tilda-v-zavisimosti-ot-teksta -->

<style>

/* Измените цвет текста и название отметки */
.t-store__card__mark[data-mark="Новая"] {
    color: #0b0b0b !important;
    background-color: #dafd55 !important;
}

/* Скопируйте эту часть если нужно больше отметок */
.t-store__card__mark[data-mark="Скоро"] {
    color: #000000 !important;
    background-color: #ffffff !important;
}
</style>

<script>
document.addEventListener("DOMContentLoaded", function() {
    function updateMarks() {
        document.querySelectorAll('.t-store__card__mark').forEach(function(mark) {
            const text = mark.textContent.trim();

            if (text === 'Новая' || text === 'Новая ') {
                mark.setAttribute('data-mark', 'Новая');
            }
            
/* Скопируйте эту часть если нужно больше отметок */

            else if (text === 'Скоро' || text === 'Скоро ') {
                mark.setAttribute('data-mark', 'Скоро');
            }
/* Вот до этого комментария */
        });
    }

    // Первый запуск
    updateMarks();

    // На случай подгрузки товаров через AJAX в Tilda
    const observer = new MutationObserver(updateMarks);
    observer.observe(document.body, { childList: true, subtree: true });
});
</script>

Другие модификации

Made on
Tilda