2

これはよくある質問だと思います.SonataAdminでsoftdeletableおよび同様のフィルターをオフにする必要があります.今まで私はやっています:

use Sonata\AdminBundle\Admin\Admin as BaseAdmin;

class Admin extends BaseAdmin
{
    /**
     * {@inheritdoc}
     */
    public function configure()
    {
        /**
         * This executes everywhere in the admin and disables softdelete for everything, if you need something cleverer this should be rethought.
         */
        $filters = $this->getModelManager()->getEntityManager($this->getClass())->getFilters();

        if (array_key_exists('approvable', $filters->getEnabledFilters())) {
            $filters->disable('approvable');
        }

        if (array_key_exists('softdeleteable', $filters->getEnabledFilters())) {
            $filters->disable('softdeleteable');
        }
    }
}

これにより、多くの問題が発生します.1つは、管理クラスが2回構成されているため、条件が必要です。1回はナビゲーションを構築するため、もう1つはインターフェースを構築するためです。 、これはかなりクールではありません。

このロジックをどこに置くつもりですか?

4

1 に答える 1