Merged
Conversation
d9c571b to
021c87f
Compare
Kanti
approved these changes
Feb 24, 2026
021c87f to
87b3b7a
Compare
A new interface `ComponentListProviderInterface` is added to Fluid, which allows component collections to not only resolve one specific component, but also the reverse: When implemented, `getAvailableComponents()` returns a list of all components that are part of the collection. This can be useful for various developer tools, such as styleguides, documentation generators as well as autocompletion. This interface is now implemented by `AbstractComponentCollection`. To avoid inconsistent results or a breaking change, one edge case eeds to be avoided by using the reflection API: If a custom component collection is based on `AbstractComponentCollection`, but uses a different folder structure by overriding `resolveTemplateName()`, the added default implementation would lead to inconsistent results. Instead, an empty array is returned. Users that run into this edge case need to provide a custom implementation for `getAvailableComponents()` that matches their custom folder structure. This will change in Fluid 6, where it will be assumed that users define both `resolveTemplateName()` and `getAvailableComponents()` consistently if necessary.
87b3b7a to
e67a95a
Compare
lolli42
approved these changes
Mar 3, 2026
Contributor
Author
|
Interface will be backported, but not implementation in |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A new interface
ComponentListProviderInterfaceis added to Fluid,which allows component collections to not only resolve one specific
component, but also the reverse: When implemented,
getAvailableComponents()returns a list of all components that arepart of the collection. This can be useful for various developer tools,
such as styleguides, documentation generators as well as autocompletion.
This interface is now implemented by
AbstractComponentCollection.To avoid inconsistent results or a breaking change, one edge case
eeds to be avoided by using the reflection API: If a custom component
collection is based on
AbstractComponentCollection, but uses adifferent folder structure by overriding
resolveTemplateName(), theadded default implementation would lead to inconsistent results.
Instead, an empty array is returned. Users that run into this edge case
need to provide a custom implementation for
getAvailableComponents()that matches their custom folder structure. This will change in Fluid 6,
where it will be assumed that users define both
resolveTemplateName()and
getAvailableComponents()consistently if necessary.