netgen/layouts-ezplatform-relation-list-query
Netgen Layouts eZ Platform relation list query adds a query type for using eZ Platform content relations as a data source in Netgen Layouts, letting editors build relation-driven lists and blocks without custom PHP code. It integrates smoothly with Layouts and eZ Platform.
composer require netgen/layouts-ezplatform-relation-list-query. Read the require block before you commit: it pulls in netgen/layouts-* and the eZ Platform integration (netgen/layouts-ezplatform at the time of writing), both of which are pre-1.0 and churn between minor versions. Pin exact versions of Layouts, the eZ integration, and this package together.*Bundle.php class under src/. Open it, take the FQCN, and add it to config/bundles.php (Symfony 4/5) or app/AppKernel.php (older). There is no config tree to publish.netgen_layouts.query_type container tag. Run bin/console debug:container --tag=netgen_layouts.query_type and look for the service that maps to the new type. If it is not there, the bundle is not loaded or autoconfiguration is off.QueryTypeInterface implementation (identifier, display name, config form), the form type it returns, and the query builder that talks to ContentService/LocationService. Everything else is stock Netgen Layouts plumbing. Read those three before touching templates.ezobjectrelationlist field. The block then renders whatever that field points at, instead of hand-picked items.Query config -> QueryBuilder -> ItemList -> Item value converter and are rendered by the standard Layouts/Ibexa block templates. If output looks wrong, the fix is almost always a template override or item view, not this bundle.ItemList, you get pagination, offset, and the Layouts item view system for free — configure limits on the collection, not in the query type.services.yaml (decorates: the bundle's service ID) and post-process the resolved IDs. This survives package upgrades better than editing vendor code.bundles.php, or the QueryTypeInterface service not tagged. Verify with debug:container before debugging anything else.mainLocationId — check that the main location is the one editors expect.NotFoundException, a short result, or a hole in the output. Decide explicitly (skip silently vs. surface an error) and test as the anonymous front-end user, not as admin.nglayouts:cache:clear or the admin Clear cache action) or accept stale related lists.eZ\Publish\* vs Ibexa\* namespace compatibility before committing — the package name dates it to the eZ Platform era.How can I help you explore Laravel packages today?