Chapters
40 Chapters
|
4:19:16
|
Login to bookmark this video
-
Course Code
Subscribe to download the code!
Subscribe to download the code!
-
This Video
Subscribe to download the video!
Subscribe to download the video!
-
Subtitles
Subscribe to download the subtitles!
Subscribe to download the subtitles!
-
Course Script
Subscribe to download the script!
Subscribe to download the script!
35.
Simple Custom GET Action
Scroll down to the script below, click on any sentence (including terminal blocks) to jump to that spot in the video!
Subscribe to jump to this part in the video!
Keep on Learning!
If you liked what you've learned so far, dive in! Subscribe to get access to this tutorial plus video, code and script downloads.
This tutorial is built on Symfony 6 but works great on Symfony 7!
What PHP libraries does this tutorial use?
// composer.json
{
"require": {
"php": ">=8.2.0",
"ext-ctype": "*",
"ext-iconv": "*",
"composer/package-versions-deprecated": "^1.11", // 1.11.99.4
"doctrine/doctrine-bundle": "^2.1", // 2.5.5
"doctrine/doctrine-migrations-bundle": "^3.0", // 3.2.1
"doctrine/orm": "^2.7", // 2.10.4
"easycorp/easyadmin-bundle": "^4.0", // v4.0.2
"handcraftedinthealps/goodby-csv": "^1.4", // 1.4.0
"knplabs/knp-markdown-bundle": "dev-symfony6", // dev-symfony6
"knplabs/knp-time-bundle": "^1.11", // 1.17.0
"sensio/framework-extra-bundle": "^6.0", // v6.2.5
"stof/doctrine-extensions-bundle": "^1.4", // v1.7.0
"symfony/asset": "6.0.*", // v6.0.1
"symfony/console": "6.0.*", // v6.0.2
"symfony/dotenv": "6.0.*", // v6.0.2
"symfony/flex": "^2.0.0", // v2.4.5
"symfony/framework-bundle": "6.0.*", // v6.0.2
"symfony/mime": "6.0.*", // v6.0.2
"symfony/monolog-bundle": "^3.0", // v3.7.1
"symfony/runtime": "6.0.*", // v6.0.0
"symfony/security-bundle": "6.0.*", // v6.0.2
"symfony/stopwatch": "6.0.*", // v6.0.0
"symfony/twig-bundle": "6.0.*", // v6.0.1
"symfony/ux-chartjs": "^2.0", // v2.0.1
"symfony/webpack-encore-bundle": "^1.7", // v1.13.2
"symfony/yaml": "6.0.*", // v6.0.2
"twig/extra-bundle": "^2.12|^3.0", // v3.3.7
"twig/twig": "^2.12|^3.0" // v3.3.7
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.3", // 3.4.1
"symfony/debug-bundle": "6.0.*", // v6.0.2
"symfony/maker-bundle": "^1.15", // v1.36.4
"symfony/var-dumper": "6.0.*", // v6.0.2
"symfony/web-profiler-bundle": "6.0.*", // v6.0.2
"zenstruck/foundry": "^1.1" // v1.16.0
}
}
9 Comments
Following this guide, I had the issue that the custom action was only being displayed for each individual row instead of on the top for the whole Crud like in the video. If you encounter this issue, you can fix it by adding the following method to your custom action:
Hey Stephan,
Yep, that's on purpose :) We talk about
createAsGlobalAction()in the further chapters, e.g. see https://symfonycasts.com/screencast/easyadminbundle/global-actionCheers!
Hello. You should add semicolon ; in new code on line 10 after }
:)
Thanks for reporting it!
Hi,
Check this, please.
In your Tip :
return parent::configureActions($actions)
##### It works if :
It's mistyping.
Thank you.
Hey,
Yep you are totally right, sorry for the silly typo, and thanks for your signal!
Cheers!
I try cloning with
`
`
and then
`
`
But it didn't work. I had to create another Action.
If I dd those vars
<br />QuestionCrudController.php on line 100:<br />EasyCorp\Bundle\EasyAdminBundle\Config\Action {#1605 ▼<br /> -dto: EasyCorp\Bundle\EasyAdminBundle\Dto\ActionDto {#1602 ▶}<br />}<br />QuestionCrudController.php on line 100:<br />EasyCorp\Bundle\EasyAdminBundle\Config\Action {#1603 ▼<br /> -dto: EasyCorp\Bundle\EasyAdminBundle\Dto\ActionDto {#1602 ▶}<br />}<br />So the Action object is cloned, but the dto object inside it is not.
Did I get it right or have I missed something?
Hey rcapile!
It's funny you posted this, because I just finished answering another comment where I realized, for the first time, that my cloning solution won't work (for the exact reasons you said)! Boo Ryan!
So... we just "make up" our own clone, which really creates a fresh object ;)
I'll add a note to the video about this - thank you for bringing up the issue! And let me know if this works for you :).
Cheers!
it worked! much better than creating two objects
"Houston: no signs of life"
Start the conversation!