J'ai un projet de symfonie fraîche 5 inspiré localement et a ajouté la maladie d'administrateur facile Symfony CLI:
symfony composer req admin
J'aurais dû /admin
route mais il manque
Je cours:
symfony console cache:clear
symfony composer dump-autoload
rm -rf var/cache/*
symfony console debug:router
-------------------------- -------- -------- ------ -----------------------------------
Name Method Scheme Host Path
-------------------------- -------- -------- ------ -----------------------------------
_preview_error ANY ANY ANY /_error/{code}.{_format}
_wdt ANY ANY ANY /_wdt/{token}
_profiler_home ANY ANY ANY /_profiler/
_profiler_search ANY ANY ANY /_profiler/search
_profiler_search_bar ANY ANY ANY /_profiler/search_bar
_profiler_phpinfo ANY ANY ANY /_profiler/phpinfo
_profiler_search_results ANY ANY ANY /_profiler/{token}/search/results
_profiler_open_file ANY ANY ANY /_profiler/open
_profiler ANY ANY ANY /_profiler/{token}
_profiler_router ANY ANY ANY /_profiler/{token}/router
_profiler_exception ANY ANY ANY /_profiler/{token}/exception
_profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css
homepage ANY ANY ANY /
-------------------------- -------- -------- ------ -----------------------------------
// config/routes/easy_admin.yaml
easy_admin_bundle:
resource: '@EasyAdminBundle/Controller/EasyAdminController.php'
prefix: /admin
type: annotation
symfony console router:match /admin
[ERROR] None of the routes match the path "/admin"
Qu'est-ce que je rate?
Pour moi, l'explication la plus claire et la plus complète est la réponse à @ AnnaHowell, je ne changerais qu'une partie de votre code. Dans SRC/Controller/Admin/CommentaireController.ph P:
public function configureFields(string $pageName): iterable
{
$avatar = ImageField::new('photoFilename')->setBasePath('uploads/photos/')->setLabel('Photo');
$avatarTextFile = TextField::new('photoFilename');
{
yield TextField::new('author');
yield TextEditorField::new('text');
yield TextField::new('state');
yield EmailField::new('email');
yield DateTimeField::new('createdAt', 'Created')->setFormat('dd-MM-y HH:mm:ss')
->setSortable(true)->setFormTypeOption('disabled','disabled');
if (Crud::PAGE_INDEX === $pageName) {
yield ImageField::new('photoFilename')->setBasePath('uploads/photos/')->setLabel('Photo');
} elseif (Crud::PAGE_EDIT === $pageName) {
yield TextField::new('photoFilename')->setLabel('Photo');
}
};
Ainsi, nous permettons à l'administrateur de non seulement évaluer le texte, mais également la pertinence de la photo. Et si un commentaire a un bon texte, mais une photo gênante ou triviale? L'administrateur pourrait supprimer le nom de la photo (et de cette façon, il ne serait pas visible), laissez le texte du texte et le publier.
Copiez simplement tout ce que /vendor/easycorp/easyadmin-bundle/src/Resources/public
à public/bundles/easyadmin