umanit/tree-bundle
UmanitTreeBundle is a Symfony bundle for managing hierarchical data in Doctrine-backed applications, with tools for building, organizing, querying, and rendering tree structures. It helps developers add nested content and tree navigation with less boilerplate.
composer require the package (auto-discovery should register its service provider); publish config and any admin assets with php artisan vendor:publish.docs/ now cover the SEO title resolution, tree form type, and Twig path helpers. Start with the “rendering SEO metadata” and “tree navigation” examples.Page title | Site name rather than Page title - Site name. Use the package’s title resolver rather than hand-assembling strings.|. Centralise this in a layout partial or Blade component so the separator change lives in one place.seo_title, title, excerpt) should win rather than relying on implicit ordering. This is useful when a page has both a short title and a long SEO title.TreeNodeType: Subclass or extend the tree node form type and override its query_builder. In Symfony-style form types this is typically done via configureOptions setting the query_builder default, or by overriding the option resolver. Register your custom type in the service container and use it in your admin form definitions to scope which nodes appear (e.g. only published pages).get_path: Use the Twig path helper for breadcrumbs and navigation menus. The 0.3.2 fix makes get_path behave correctly in URI contexts; if you previously worked around it with manual concatenation, remove that workaround and test with nested pages.Title - Site will fail. Update snapshots and any hard-coded meta tags. Search templates and seed data for hyphen-separated SEO titles.query_builder override: Make sure your override preserves the original option signature. If you pass a closure, it should accept the same arguments as the default builder. Test the admin tree with empty and populated datasets; a wrongly scoped query builder can silently return no nodes.get_path is undefined, confirm the Twig bridge/bundle is registered and the function is enabled in your Twig environment config. Clear Twig and application caches after upgrading — stale compiled templates are a common source of “fixed but still broken” behaviour.get path in uri fix, re-check pages with trailing slashes, home page roots, and multi-segment paths. The fix may change output for edge-case URIs.TreeNodeType is the right seam for custom tree filtering; avoid hacking the admin controller directly. For SEO output, prefer the package’s title resolver over string manipulation so future separator changes are contained.How can I help you explore Laravel packages today?