Feature: Introduce PSR-14 ModifyProfileTitlePlaceholderReplacementEvent in ProfileTitleProvider 

Description 

With recent changes a series of features has been implemented to make the HTML title tag for person profile pages more flexible, with a placeholder based FlexForm options and also allowing to influence the default and the setting pageTitleFormat.

The used ProfileTitleProvider already looks into the format string and provides the ability to replace placeholders, which matches getters in the profile.

To provide even more flexibility, this change introduces a new PSR-14 Event ModifyProfileTitlePlaceholderReplacementEvent, which is dispatched for each placeholder enriched with quite a handfull of use-full context information.

Following methods are available on the event:

  • getPluginControllerActionContext(): PluginControllerActionContextInterface containing the request along with easy access methods to site, siteLanguage and extbase plugin information and the plugin settings.
  • getProfile(): Profile the current person profile to display.
  • getPlaceholder() the original/raw placeholder identifier.
  • getReplacement() the value to replace the placeholder with, which may differ already if a earlier event listener changed the value using setReplacement().
  • setReplacement(string $replacement): void to set the value used to replace the placeholder.

This event allows project to implement custom placeholders and the replacement without using old-school xclassing technique.