Я разрабатываю новый проект Symfony, и я реализовал и пользовательский избиратель. В контроллере я могу позвонить избирателям через $this->isGranted('view',$team)
Но для этого мне нужен командный объект. Когда я хочу показать команду, это не проблема.
Но теперь у меня есть базовый шаблон только с верхним меню. Я только хочу отобразить кнопку «Команда», когда $this->isGranted('view',$team)
возвращает true, но в этом шаблоне я никогда не показываю никаких команд, поэтому у меня нет командного объекта, который я могу пропустить через эту функцию. Первый шаблон веточки — это даже обзор проекта.
Как я могу это сделать? Должен ли я передать пустой командный объект в базовый шаблон? Может кто-нибудь мне помочь?
Вы не должны полагаться на избирателя, который связан с конкретным объектом. Я предполагаю, что команды могут быть показаны зарегистрированными пользователями (или что-то вроде этого). Таким образом, вы должны проверить, если пользователь вошел в систему, что вы можете сделать в Symfony $this->isGranted('IS_AUTHENTICATED_FULLY')
или основываться на другом состоянии (новая роль), например TEAM_VIEWER
но помните, что вы должны добавить эту роль для этих пользователей.
Других решений пока нет …