所以我覆盖AbstractAdmin
,因为我想添加一些函数,而且我的所有管理类都会拥有它。
看起来像这样:
<?php
namespace AdminBundle\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
class BaseAdmin extends AbstractAdmin
{
....
}
正如您所看到的,BaseAdmin
扩展了默认奏鸣曲AbstractAdmin
类。一切正常,如果我扩展新的BaseAdmin,我的所有类都有自定义函数:class ProductAdmin extends BaseAdmin
但我注意到一件奇怪的事情......
我有一个使用&#39;文件&#39;输入上传图片。
如果我使用BaseAdmin
扩展我的管理类,则表单字段&#39; file&#39;被制作成textarea(由于某种原因,所有其他简单的文本字段也被转换为textarea)。如果我扩展默认AbstractAdmin
一切正常..
我是否需要在配置中的某个地方指定我的新管理类,或者这里有什么问题?
答案 0 :(得分:0)
您应该向我们展示一些代码,但是从您已经说过的内容我会说这是因为您覆盖了ProductAdmin
类中的方法。
在BaseAdmin
课程中,您覆盖了AbstractAdmin
种方法,并致电parent::method()
,但在覆盖BaseAdmin
的课程中覆盖方法时,您必须致电AbstractAdmin::method()
而不是parent::method()
因为你需要调用祖父方法而不是父方法。
希望有所帮助