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