{"id":15080899,"url":"https://github.com/zemd/symfony-menu","last_synced_at":"2025-10-05T13:30:26.035Z","repository":{"id":57089808,"uuid":"74380085","full_name":"zemd/symfony-menu","owner":"zemd","description":"🥐 Very lightweight but powerful breadcrumbs builder for symfony","archived":true,"fork":false,"pushed_at":"2016-11-21T16:03:01.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-16T13:22:44.685Z","etag":null,"topics":["breadcrumbs","menu","symfony","symfony-component"],"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/zemd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-21T15:57:17.000Z","updated_at":"2023-01-24T07:31:06.000Z","dependencies_parsed_at":"2022-08-20T15:30:13.806Z","dependency_job_id":null,"html_url":"https://github.com/zemd/symfony-menu","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemd%2Fsymfony-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemd%2Fsymfony-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemd%2Fsymfony-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemd%2Fsymfony-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zemd","download_url":"https://codeload.github.com/zemd/symfony-menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235399012,"owners_count":18983814,"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":["breadcrumbs","menu","symfony","symfony-component"],"created_at":"2024-09-25T05:32:46.399Z","updated_at":"2025-10-05T13:30:25.752Z","avatar_url":"https://github.com/zemd.png","language":"PHP","funding_links":["https://www.patreon.com/red_rabbit"],"categories":[],"sub_categories":[],"readme":"# Symfony Menu\n\n\u003e Very lightweight but powerful breadcrumbs builder for symfony\n\n## Installation\n\n```sh\ncomposer require zemd/symfony-menu\n```\n\n## Usage\n\nThis component build breadcrumb path leveraging standard symfony router. If you want to skip or modify some part of the\n path feel free to use **@Breadcrumbs** annotation.\n\nFor instance we have next controller:\n```php\nclass MyController {\n  \n  /**\n   * This route should be skipped from menu chain\n   * \n   * @Breadcrumbs(skip=true)\n   */\n  public function myActionIwantToSkip() {}\n  \n  /**\n   * This route should be in the root of menu tree \n   *\n   * @Route(\"/dashboard\", name=\"dashboard\")\n   * @Breadcrumbs(root=true)\n   */\n  public function dashboardAction() {}\n  \n  /**\n   * This route should be added automatically into menu chain \n   *\n   * @Route(\"/dashboard/graphs\")\n   */\n  public function viewMoreGraphsAction() {}\n}\n```\n\nLet's now share breadcrumbs into the view by using twig globals as example:\n\n```php\nclass BreadcrumbsGlobalExtension extends \\Twig_Extension implements Twig_Extension_GlobalsInterface\n{\n    const NAME = 'zemd_breadcrumbs_extension';\n\n    /** @var BreadCrumbsManager */\n    protected $breadcrumbsManager;\n\n    public function __construct(BreadCrumbsManager $breadcrumbsManager) {\n        $this-\u003ebreadcrumbsManager = $breadcrumbsManager;\n    }\n\n    /**\n     * Returns the name of the extension.\n     *\n     * @return string The extension name\n     */\n    public function getName() {\n        return self::NAME;\n    }\n\n    public function getGlobals() {\n        return [\n            'zemd_breadcrumbs' =\u003e $this-\u003ebreadcrumbsManager-\u003egetBreadcrumbs()\n        ];\n    }\n}\n```\n\n```yml\nservices:\n  zemd.breadcrumbs_manager:\n    class: Zemd\\Component\\Menu\\BreadCrumbsManager\n    arguments: [\"@router\", \"@annotation_reader\", \"@request_stack\"]\n    calls:\n      - [setContainer, [\"@service_container\"]]\n      \n  zemd.breadcrumbs.twig_extension:\n    class: Path\\To\\Your\\BreadcrumbsGlobalExtension\n    public: false\n    arguments: [\"@zemd.breadcrumbs_manager\"]\n    tags:\n      - { name: twig.extension }\n      \n  zemd.router_checker.twig_extension:\n    class: Zemd\\Component\\Menu\\Twig\\Extension\\RouteChecker\n    public: false\n    arguments: [\"@request_stack\", \"@zemd.breadcrumbs_manager\"]\n    tags:\n      - { name: twig.extension }\n```\n\nNow we can show our menu in the header and style or translate menu items as we want:\n\n```twig\n\u003cnav id=\"Nav-bread\" class=\"navbar navbar-breadcrumbs clearfix\" role=\"navigation\"\u003e\n  {% for node in zemd_breadcrumbs %}\n      \u003cdiv class=\"navbar__item{% if (is_route_active(node.routeName)) %} active{% endif %}\"\u003e\n          \u003ca href=\"{{ path(node.routeName, node.pathParams) }}\"\u003e\n              \u003cspan\u003e{{ node.routeName|trans({}, \"breadcrumbs\") }}\u003c/span\u003e\n          \u003c/a\u003e\n      \u003c/div\u003e\n  {% endfor %}\n\u003c/nav\u003e\n```\n\n## Advanced usage\n\n// TODO: Example for generator\n\n## License\n\nSymfony Menu is released under the MIT license.\n\n## Donate\n\n[![](https://img.shields.io/badge/patreon-donate-yellow.svg)](https://www.patreon.com/red_rabbit)\n[![](https://img.shields.io/badge/flattr-donate-yellow.svg)](https://flattr.com/profile/red_rabbit)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemd%2Fsymfony-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzemd%2Fsymfony-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemd%2Fsymfony-menu/lists"}