SharedUserPreferences
FinalYes
Manages language selection preferences across modules.
Provides fallback chain for language resolution.
Language preferences are stored in be_users.uc['pageLanguages'] as: [pageId => languageIds[]]
Page-specific preferences are shared across all modules working with that page.
Table of Contents
Methods
- resolveLanguages() : array<string|int, int>
- Resolve selected languages with fallback chain.
- setPageLanguages() : void
- Store language selection for a page (shared across modules).
Methods
resolveLanguages()
Resolve selected languages with fallback chain.
public
resolveLanguages(BackendUserAuthentication $backendUser, array<string|int, mixed>|null $requestLanguages, int $pageId[, array<string|int, mixed>|null $moduleDataLanguages = null ]) : array<string|int, int>
Priority order:
- Explicit request parameter (not stored, just for current request)
- Page-specific stored preference (shared across modules)
- ModuleData from request (for backward compat)
- Default [0]
Parameters
- $backendUser : BackendUserAuthentication
- $requestLanguages : array<string|int, mixed>|null
-
Languages from request parameter
- $pageId : int
- $moduleDataLanguages : array<string|int, mixed>|null = null
-
Languages from ModuleData (for backward compat)
Return values
array<string|int, int> —Resolved language IDs
setPageLanguages()
Store language selection for a page (shared across modules).
public
setPageLanguages(BackendUserAuthentication $backendUser, int $pageId, array<string|int, mixed> $languageIds) : void
This preference will be used by ALL modules working with this page, ensuring consistent language selection across Page Module, List Module, etc.
Parameters
- $backendUser : BackendUserAuthentication
- $pageId : int
- $languageIds : array<string|int, mixed>