J'essaye de faire marcher le bundle Sonata avec les blocks. Donc pour commencer je voulais tester avec un block existant. Dans mon profileController je fais
public function showAction()
{
$user = $this->getUser();
if (!is_object($user) || (!$user instanceof FOSUserInterface && !$user instanceof LDapUserInterface)) {
throw $this->createAccessDeniedException('This user does not have access to this section.');
}
return $this->render('bundles/ApplicationSonataUserBundle/Profile/show.html.twig', array(
'user' => $user,
'blocks' => $this->getParameter('sonata.admin.block.admin_list'),
));
}
Mais j'ai l'erreur:
The parameter "sonata.admin.block.admin_list" must be defined.
Ce que je ne comprends pas. Voici mes configs:
sonata_user.yaml
sonata_user:
security_acl: true
manager_type: orm # can be orm or mongodb
class:
user: App\Entity\User
group: App\Entity\Group
impersonating:
route: sonata_admin_dashboard
parameters: { path: / }
profile:
default_avatar: 'bundles/sonatauser/default_avatar.png' # Default avatar displayed if the user doesn't have one
Pour moi mon block est bien défini mais pourtant ça ne marche pas. Quelqu'un a une idée? C'est très compliqué de trouver des tutos sur Internet et je galère depuis 2 jours :/ Merci
PS: Sinon j'ai essayé le sonata_block_render de cette façon
EDIT: J'ai essayé de faire un use de la classe correspondant au service et je le met en paramètre de ma fonction showAction:
use Sonata\AdminBundle\Block\AdminListBlockService;
public function showAction(AdminListBlockService $admin){}
Et j'ai cette erreur
Cannot autowire argument $admin of "App\Controller\ProfileFOSUser1Controller::showAction()": it references class "Sonata\AdminBundle\Block\AdminListBlockService" but no such service exists. You should maybe alias this class to the existing "sonata.admin.block.admin_list" service.
- Edité par Akame14 2 juillet 2020 à 14:44:19
[Symfony 4 ] Sonata Blocks
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.