2013-10-15 40 views
0

好日子每一个: 我是新的Symfony,这可能看起来很简单,但对我来说很复杂。 我有一个实体内容称为工作从我创建一个CollectionArray的对象的列表。该工作人员有一个DateInterval参数,我们称之为timeRamaining。然后我有2个来自app/config.yml的配置参数,我可以将它们称为危险和非常危险(橙色和红色)......这些参数表示剩余时间是否接近某个事件,在这种情况下,退休。 现在在视图中,我有一个HTML表格,根据搜索参数显示工作人员列表,我一直在努力整个下午让这个列表显示红色或橙色的行,以防止剩余时间为危险(橙色)或非常危险(红)。 我不知道应该如何负责任务......例如,确定行的颜色?我应该向工作人员或管理员或视图处理任务吗?因为控制器必须在整个阵列中上下移动,但工作人员似乎比较容易,但工作人员离视图太远,它是编程逻辑,然后在实体中,我无法访问I需要从app/config.yml。 这个问题可能看起来很愚蠢,但真的让我很难过......任何类似的例子,你可以告诉我的将受到欢迎和赞赏。 谢谢Symfony2根据数据库值和配置参数着色表行

回答

0

在您的控制器中,您需要获取配置选项并将其传递到您的视图以及您的数据。

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类,这将允许你设置任何你想要的风格。

+0

谢谢,这听起来很不错,直截了当。我会尽力让你知道...... – Abel