Symfony2 SonataAdmin覆盖AbstractAdmin不了解字段

时间:2017-01-17 14:47:03

标签: php symfony admin sonata

所以我覆盖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一切正常..

我是否需要在配置中的某个地方指定我的新管理类,或者这里有什么问题?

1 个答案:

答案 0 :(得分:0)

您应该向我们展示一些代码,但是从您已经说过的内容我会说这是因为您覆盖了ProductAdmin类中的方法。

BaseAdmin课程中,您覆盖了AbstractAdmin种方法,并致电parent::method(),但在覆盖BaseAdmin的课程中覆盖方法时,您必须致电AbstractAdmin::method()而不是parent::method()因为你需要调用祖父方法而不是父方法。

希望有所帮助