Как изменить цвет карточки сделки в зависимости от ее статуса?

Для изменения цвета карточки сделки в зависимости от ее статуса в CMS 1C-Bitrix возможно использовать CSS и JavaScript.

  1. Определение цветов для статусов сделки

Для начала определите цвета, которые соответствуют различным статусам сделки. Например, вы можете использовать следующие цвета:

  • Зеленый для статуса "Выполнено"
  • Красный для статуса "Отклонено"
  • Синий для статуса "В процессе"
  1. Добавление классов карточке сделки

Для каждого статуса создайте соответствующий класс в CSS. Например:

   .deal-status-done {
       background-color: green;
   }
   
   .deal-status-rejected {
       background-color: red;
   }
   
   .deal-status-in-progress {
       background-color: blue;
   }
  1. Применение класса карточки

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

   <div class="deal-card <?php if ($arResult['STATUS_ID'] == 'DONE'): ?>deal-status-done<?php elseif ($arResult['STATUS_ID'] == 'REJECTED'): ?>deal-status-rejected<?php elseif ($arResult['STATUS_ID'] == 'IN_PROGRESS'): ?>deal-status-in-progress<?php endif; ?>">
       <!-- Карточка сделки -->
   </div>
  1. Обновление цвета при изменении статуса

Для того чтобы цвет карточки обновлялся при изменении статуса сделки без перезагрузки страницы, можно воспользоваться JavaScript. Например, вы можете использовать AJAX запросы к серверу для проверки статуса сделки и обновления класса карточки.

  1. Сохранение стилей

Убедитесь, что стили, которые вы добавили для изменения цвета карточки, сохранены в кастомном CSS-файле вашего сайта, чтобы они не были затерты при обновлении или обновлении компонентов.

Следуя этим шагам, вы сможете реализовать изменение цвета карточки сделки в зависимости от ее статуса в CMS 1C-Bitrix.