2
나는이 공통 지금까지 내가 해왔습니다, 나는 SonataAdmin에서 떨어져 softdeletable과 유사한 필터를 필요 물어 확신 :언제 Doctrine 필터를 SonataAdmin 워크 플로우에서 비활성화해야합니까?
문제, 하나의 숫자를 야기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');
}
}
}
, 그것은 조건문이 필요합니다 admin 클래스는 두 번 구성 되었기 때문에 한 번 nav을 빌드하고 두 번째 인터페이스를 빌드하기 때문에 admin 클래스는 콜드 (APC 어쩌면?) 캐시에서 인스턴스화 된 프론트 엔드입니다.
이 논리를 어디에 넣으려고하십니까?
나는 최근이 프로젝트에 근무 한 적이없는,하지만 난 아마에 대한 사용자 지정 관리 컨트롤러를 추가하여이를 수 있으리라 생각합니다 해당 관리자. 또한 이제 특정 엔터티에 대한 필터를 사용하지 않도록 설정할 수 있습니다. 필터를 전역 적으로 사용하지 않도록 설정하는 것보다 더 나은 계획 일 수 있습니다. – Steve
특정 엔터티에 대한 필터를 사용하지 않도록 설정하는 모든 코드 예제 @Steve? – webDEVILopers