我想創建於索納塔管理套件創建和編輯的操作不同領域的配置。有什麼方法來確定當前操作(創建或編輯)的奏鳴曲 AdminBundle 管理管理:: configureFormFields()?
有什麼方法來確定它除了檢查Sonata\AdminBundle\Admin\Admin::configureFormFields()
$this->getSubject()->getId()
?
我想創建於索納塔管理套件創建和編輯的操作不同領域的配置。有什麼方法來確定當前操作(創建或編輯)的奏鳴曲 AdminBundle 管理管理:: configureFormFields()?
有什麼方法來確定它除了檢查Sonata\AdminBundle\Admin\Admin::configureFormFields()
$this->getSubject()->getId()
?
你也可以這樣做:
protected function configureFormFields(FormMapper $formMapper) {
if ($this->isCurrentRoute('create')) {
// CREATE
}
else {
// EDIT
}
}
有:
if($this->getRequest()->get($this->getIdParameter()) == null){
// create
} else {
// edit
}
個感謝,但對我來說這同樣骯髒的黑客如檢查實體對象:)的ID字段 –
這其中也總是返回「創造」時,管理員被加載通過sonata_type_collection – 11mb
我用這個:
$creationMode = ($this->id($this->getSubject()))?(false):(true);
if ($creationMode){
//Ok
}
你也可以這樣做:
protected function configureFormFields(FormMapper $formMapper) {
if ($this->isCurrentRoute('create')) {
// CREATE
}
else {
// EDIT
}
}
謝謝!它看起來更好:) –
什麼是主題? – d0001
getSubject()讓你的對象(!)的形式工作。我認爲... – caponica