Ответ 1
Вы также можете сделать это:
protected function configureFormFields(FormMapper $formMapper) {
if ($this->id($this->getSubject())) {
// EDIT
}
else {
// CREATE
}
}
Я хотел бы создать различные настройки полей для создания и редактирования действий в пакете Admin Sonata.
Есть ли способ определить его, кроме проверки $this->getSubject()->getId()
в Sonata\AdminBundle\Admin\Admin::configureFormFields()
?
Вы также можете сделать это:
protected function configureFormFields(FormMapper $formMapper) {
if ($this->id($this->getSubject())) {
// EDIT
}
else {
// CREATE
}
}
с:
if($this->getRequest()->get($this->getIdParameter()) == null){
// create
} else {
// edit
}
Я использую это:
$creationMode = ($this->id($this->getSubject()))?(false):(true);
if ($creationMode){
//Ok
}