Код написан на коленке, используйте осторожно. Не оказываем поддержку и доработку модификаций!
<!-- Меняем цвет отметок на карточке товара Тильда в зависимости от текста в нем | 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>