如何在奏鸣曲管理员中将日期设置为今天的日期

时间:2014-02-17 17:43:25

标签: date sonata-admin

我想在sonata admin中将日期设置为今天的日期。我在我的管理类中使用了这个代码,但只是今年设定的年份:

$formMapper
    ->add('dateDeroulement','date',
             array('years' => date('Y'),2020))

2 个答案:

答案 0 :(得分:1)

在" sonata-project / doctrine-orm-admin-bundle":" ^ 3.4",

和symfony 4以这种方式工作:

在configureFormFields()中:

$formMapper->add('closeTimeUTC', DateTimeType::class, []);

在实体中:

public function __construct()
{
    $this->closeTimeUTC = new \DateTime();
}

答案 1 :(得分:0)

我建议您使用admin类的getNewInstance方法预先设置该实体的日期。

示例AdminClass

class ExampleAdmin extends Admin
{
    public function getNewInstance()
    {
        $instance = parent::getNewInstance();

        // Set date to today
        $dateTime = new \DateTime();
        $dateTime->setTime(0, 0, 0);

        // Instance points to the entity that is being created
        $instance->setDateDeroulement($dateTime);

        return $instance;
    }

    protected function configureFormFields(FormMapper $formMapper)
    {
        ....
        $formMapper
            ->add('dateDeroulement','date', 
                    array('years' => date('Y'),2020))
        ...
    }
}