Хороший день каждый: я новый Symfony, и это может показаться простым для кого-то, но для меня это сложно. У меня есть список объектов, содержимое объекта, называемое рабочим, из которого я создаю CollectionArray. Этот рабочий имеет параметр DateInterval, назовем его timeRamaining. Тогда у меня есть 2 параметра конфигурации, которые поступают из app / config.yml, этот параметр я могу назвать Dangerrous and veryDangerous (Orange и RED) … сказать, что оставшееся время близко к какому-либо событию или нет, в этом случае Retirement , Теперь в представлении у меня есть таблица HTML, которая показывает список работников в зависимости от параметров поиска, я изо всех сил старался весь этот день, чтобы этот список показывал красные или оранжевые строки, если это оставшееся время опасно (оранжевое) или очень опасно (красный ). Я не знаю, как должен отвечать за каждую задачу … например, определяя цвет строки? Является ли задача, с которой я должен обращаться с рабочим или контроллером или с представлением? рабочий – это место, где это кажется проще, потому что контроллер должен идти вверх и вниз по всему массиву, но рабочий слишком далеко от представления, это логика программирования, а затем в сущности у меня нет доступа к параметрам, которые я нужно от app / config.yml. Этот вопрос может показаться глупым, но на самом деле мне очень тяжело … любой подобный пример, который вы можете мне показать, будет хорошо принят и оценен. спасибо
В вашем контроллере вам нужно получить параметры конфигурации и передать его вашему представлению, а также ваши данные.
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, который позволит вам установить любой стиль, который вы хотите.