Как динамически добавлять / удалять поля отображения в Sonata Admin

php symfony sonata-admin

367 просмотра

1 ответ

Я хотел удалить некоторые поля показа, которые имеют значение только в том случае, если некоторые другие поля имеют определенное значение, но объект нельзя получить из класса admin.

Автор: whitezo Источник Размещён: 08.11.2019 11:16

Ответы (1)


1 плюс

Решением было переопределить действие preShow контроллера администратора:

// FooAdminController.php

/**
 * @param Request $request
 * @param Foo     $object
 *
 * @return null|\Symfony\Component\HttpFoundation\Response
 */
protected function preShow(Request $request, $object)
{
    $ret = parent::preShow($request, $object);

    /** @var FieldDescriptionCollection $show */
    $show = $this->admin->getShow();
    if ($object->isBar()) {
        $show->remove('baz');
    }

    return $ret;
}
Автор: whitezo Размещён: 20.08.2016 11:49
Вопросы из категории :
32x32