{"id":21963842,"url":"https://github.com/agence-adeliom/easy-block-bundle","last_synced_at":"2025-07-25T17:33:12.117Z","repository":{"id":56941863,"uuid":"399089744","full_name":"agence-adeliom/easy-block-bundle","owner":"agence-adeliom","description":"A Symfony bundle for EasyAdmin that provide basic blocks components","archived":false,"fork":false,"pushed_at":"2025-06-13T15:13:58.000Z","size":115,"stargazers_count":7,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"2.x","last_synced_at":"2025-06-13T16:29:42.575Z","etag":null,"topics":["blocks","easyadmin","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agence-adeliom.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-23T12:07:57.000Z","updated_at":"2025-06-04T18:48:30.000Z","dependencies_parsed_at":"2023-12-08T15:00:15.438Z","dependency_job_id":"50712573-cd7d-41b4-8635-4957ba3387c4","html_url":"https://github.com/agence-adeliom/easy-block-bundle","commit_stats":{"total_commits":191,"total_committers":3,"mean_commits":"63.666666666666664","dds":"0.23036649214659688","last_synced_commit":"4a86c84d30e92d369ddb9e62946962ef59bcb380"},"previous_names":[],"tags_count":115,"template":false,"template_full_name":null,"purl":"pkg:github/agence-adeliom/easy-block-bundle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-block-bundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-block-bundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-block-bundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-block-bundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agence-adeliom","download_url":"https://codeload.github.com/agence-adeliom/easy-block-bundle/tar.gz/refs/heads/2.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agence-adeliom%2Feasy-block-bundle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265991201,"owners_count":23860892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blocks","easyadmin","symfony"],"created_at":"2024-11-29T11:44:14.654Z","updated_at":"2025-07-25T17:33:12.058Z","avatar_url":"https://github.com/agence-adeliom.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![Adeliom](https://adeliom.com/public/uploads/2017/09/Adeliom_logo.png)\n[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=agence-adeliom_easy-block-bundle)](https://sonarcloud.io/dashboard?id=agence-adeliom_easy-block-bundle)\n\n# Easy Block Bundle\n\nProvide a basic block component for Easyadmin.\n\n\n## Features\n\n- A Easyadmin CRUD interface to manage block\n- Twig function to render block\n\n## Versions\n\n| Repository Branch | Version | Symfony Compatibility | PHP Compatibility | Status                     |\n|-------------------|---------|-----------------------|-------------------|----------------------------|\n| `3.x`             | `3.x`   | `6.4`, and `7.x`      | `8.2` or higher    | New features and bug fixes |\n| `2.x`             | `2.x`   | `5.4`, and `6.x`      | `8.0.2` or higher | Bug fixes                              |\n| `1.x`             | `1.x`   | `4.4`, and `5.x`      | `7.2.5` or higher | No longer maintained       |\n\n## Installation with Symfony Flex\n\nAdd our recipes endpoint\n\n```json\n{\n  \"extra\": {\n    \"symfony\": {\n      \"endpoint\": [\n        \"https://api.github.com/repos/agence-adeliom/symfony-recipes/contents/index.json?ref=flex/main\",\n        ...\n        \"flex://defaults\"\n      ],\n      \"allow-contrib\": true\n    }\n  }\n}\n```\n\nInstall with composer\n\n```bash\ncomposer require agence-adeliom/easy-block-bundle\n```\n\n### Setup database\n\n#### Using doctrine migrations\n\n```bash\nphp bin/console doctrine:migration:diff\nphp bin/console doctrine:migration:migrate\n```\n\n#### Without\n\n```bash\nphp bin/console doctrine:schema:update --force\n```\n\n## Documentation\n\n### Integration into EasyAdmin\n\nGo to your dashboard controller, example : `src/Controller/Admin/DashboardController.php`\n\n```php\n\u003c?php\n\nnamespace App\\Controller\\Admin;\n\n...\nuse App\\Entity\\EasyFaq\\Entry;\nuse App\\Entity\\EasyFaq\\Category;\n\nclass DashboardController extends AbstractDashboardController\n{\n    ...\n    public function configureMenuItems(): iterable\n    {\n        ...\n        yield MenuItem::linkToCrud('easy.block.admin.menu.shared_blocks', 'fa fa-file-alt', Block::class);\n\n        ...\n```\n\n### Usage\n\n#### Entity\n\n```php\nclass Article\n{\n    /**\n     * @ORM\\ManyToOne(targetEntity=Block::class)\n     * @ORM\\JoinColumn(nullable=false)\n     */\n    private $block;\n}\n```\n\n#### CRUD Controller\n```php\nclass ArticleCrudController extends AbstractCrudController\n{\n    public function configureFields(string $pageName): iterable\n    {\n        yield AssociationField::new('block');\n    }\n}\n```\n\n#### Twig template\n\n```php\n# block is an entity object\n{{ easy_block(block) }}\n\n# render with extra data\n{{ easy_block(block, extra) }}\n\n# render by key\n{{ easy_block(key, extra) }}\n```\n\n### Create a new type\n\n```bash\nbin/console make:block:shared\n```\n\n# Events\n\n#### easy_block.render_block\n```php\nuse Symfony\\Contracts\\EventDispatcher\\Event;\n\n$dispatcher-\u003eaddListener('easy_block.render_block', function (Event $event) {\n    // will be executed when the easy_block.render_block event is dispatched\n    \n    // Get\n    $block = $event-\u003egetArgument('block');\n    $blockType = $event-\u003egetArgument('blockType');\n    $settings = $event-\u003egetArgument('settings');\n    \n    // Set\n    $event-\u003esetArgument(\"block\", $block);\n    $event-\u003esetArgument(\"blockType\", $blockType);\n    $event-\u003esetArgument(\"settings\", $settings);\n});\n```\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n\n## Authors\n\n- [@arnaud-ritti](https://github.com/arnaud-ritti)\n\n  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-adeliom%2Feasy-block-bundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagence-adeliom%2Feasy-block-bundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagence-adeliom%2Feasy-block-bundle/lists"}