我有一个非常小的symfony问题,但我现在根本不知道怎么开始。我现在在编码时不断改变,从不完成实际的事情。
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('id')
->add('schedule');
}
现在,schedule是type datetime。一个cronjob,以便在计划与当前白天匹配时执行代码。
管理员只需要能够在将来更改计划日期时间,因此read_only应该在过去发生时设置为true。
小问题,但我不知道这样做的最佳方法是什么?我可以想到多种解决方案:
谢谢!
答案 0 :(得分:0)
我终于解决了它
我还尝试过的是获取您添加到formmapper中的内容的价值。
//todo get value
$formMapper
->add('date')
所以我决定在configureFormField函数中做一个var_dump。
protected function configureFormFields(FormMapper $formMapper)
{
die("DIED ".var_dump($this)." DIED @".__FILE__." line ".__LINE__);
}
在var_dump中,我找到了一个名为subject的变量,在该主题中,可以存储您可以添加到formmapper的所有信息。
您可以使用以下方式获得主题:
$this->getSubject()
您可以在主题内处理它,就像您尝试编辑的实体一样。就我而言,这是时间表。
if ($this->getSubject->getSchedule > new \Datetime('now')
{
$formMapper
->add('channel', null, array('label' => 'Choose a channel'));
else
{
$formMapper
->add('channel', null, array('label' => 'Channel', 'read_only' => 'true'));