Строки раскраски Symfony2 в зависимости от значения базы данных и параметра конфигурации

Добрый день всем: я новый Symfony, и это может показаться кому-то простым, но для меня - сложным. У меня есть список объектов содержимого объекта под названием работник, из которого я создаю CollectionArray. Этот работник имеет параметр DateInterval, назовем его timeRamaining. Затем у меня есть 2 параметра конфигурации, которые берутся из app / config.yml, эти параметры я могу назвать их Опасными и очень опасными (оранжевым и красным)... чтобы сказать, приближается ли оставшееся время к какому-либо событию или нет, в этом случае выход на пенсию, Теперь в представлении у меня есть HTML-таблица, которая показывает рабочий список в зависимости от параметров поиска, я изо всех сил старался, чтобы этот список отображал красные или оранжевые строки на случай, если оставшееся время будет Dangerous (оранжевый) или veryDangerous (красный)). Я не знаю, как должен отвечать за каждую задачу... например, определение цвета строки? Это задача, которую я должен решить для работника, контроллера или представления? рабочий - это место, где кажется, что проще, потому что контроллер должен идти вверх и вниз по всему массиву, но рабочий слишком далеко от взгляда, это логика программирования, а затем в сущности у меня нет доступа к параметрам, которые я нужно из приложения / config.yml. Этот вопрос может показаться глупым, но он действительно доставляет мне неприятности... любой подобный пример, который вы можете показать мне, будет хорошо принят и оценен. Спасибо

1 ответ

Решение

В вашем контроллере вам нужно получить параметры конфигурации и передать их на ваш взгляд, а также ваши данные.

public function tableAction() {
    $dangerousThreshold     = $this->container->getParameter('dangerous_threshold');
    $veryDangerousThreshold = $this->container->getParameter('very_dangerous_threshold');

   // If required transform your threshold in a comparable value, eg. a date.

    $data = $this->container->get('your_repository')->findAll();

    return $this->render(
        'YourBundle:Dashboard:table.html.twig',
        array(
            'data'                     => $data,
            'dangerous_threshold'      => $dangerousThreshold,
            'very_dangerous_threshold' => $veryDangerousThreshold,
        )
    );
}

И по мнению, сравните $data датируйте опасный и очень опасный порог и назначьте класс css, который позволит вам установить любой стиль, который вы хотите.

Другие вопросы по тегам