netgen/layouts-ezplatform-tags-query
Netgen Layouts eZ Platform Tags Query adds a custom query type for Netgen Layouts that lets you filter and display eZ Platform content by tags, making tag-based content listings easy to configure in your layouts.
Reality check first: this is not a Laravel package. It's a Symfony bundle that plugs into Netgen Layouts running on eZ Platform / Ibexa with the Netgen Tags bundle (netgen/tagsbundle). There is no service provider, no config file to publish, and no Artisan surface. It registers a single Netgen Layouts query type whose job is: "give me content items that carry tag X", so you can use that query to populate a Layouts block.
Minimal steps:
composer require netgen/layouts-ezplatform-tags-query (requires netgen/layouts-ezplatform, netgen/tagsbundle, and a compatible eZ/Ibexa kernel). Check the require block in vendor/netgen/layouts-ezplatform-tags-query/composer.json before you commit — this package tracks an older Layouts/eZ generation.config/bundles.php (Symfony Flex) — it ships as NetgenLayoutsEzPlatformTagsQueryBundle or similar.bin/console cache:clear.vendor/netgen/layouts-ezplatform-tags-query/ — usually a handful of files: one query type class, one or two services.yaml/*_services.yml files, maybe an Ibexa/ vs Ez/ namespace split.vendor/netgen/layouts-core/lib/Query/QueryType/ — the QueryTypeInterface it implements.vendor/netgen/layouts-ezplatform/ — the content query type and item view wiring, which this package mirrors.tag) plus a parameter provider that resolves the tag from the currently displayed content, rather than hard-coding a tag id. This is where the package earns its keep — without it you'd hand-roll a custom query type.parent_id). Decide up front whether editors should pick a leaf tag or a branch; if branch, the query must walk descendants (Tag::getSubtree() or the equivalent repository method), otherwise you get a silent empty result when someone tags with a child.limit/offset beat adding sort-and-filter parameters to a query type you'll then have to maintain.TagsBundle dispatches events on tag assignment/removal). Content-level invalidation from layouts-ezplatform will not necessarily fire when only a tag relation changes — see below.sort, exclude_tag, or content_types parameters by decorating the query type service in your own services.yaml rather than forking the bundle. The class is small; a decorator is usually cleaner than a fork.src/ when the next Layouts/eZ upgrade breaks the constraint.eztags table (id, parent_id, remote_id) — a wrong id or a parent tag with no tagged descendants returns zero rows with no error.standard, line). If no matching item view is configured for the content type on the eZ side, items silently don't render or fall back to an unexpected template.require: netgen/layouts-ezplatform and netgen/tagsbundle majors, and whether it targets the Ez (eZ Platform) or Ibexa namespace. Mixing a pre-Ibexa bundle into an Ibexa 4 kernel will fail at container compile time with an unhelpful "class not found" in a service definition — read services.yaml in the bundle when that happens.bin/console debug:container --tag=netgen_layouts.query_type (tag name varies by version) to confirm the bundle actually registered itself before you suspect your query configuration.How can I help you explore Laravel packages today?