TENANCY FEATURE
Per-Tenant Configuration
One resolved tenant config reshapes branding, locale, commerce defaults, and feature flags across the same product surface.
This page is about product-shaping tenancy, not database partitioning. One tenant decision changes what the product feels like to the user.
Switch between tenants and compare what really moves: branding, locale defaults, pricing conventions, rating behavior, and capability flags. The same handler and template tree stay intact.
acmeglobexinitechHow the resolution flow works
Think about this page as a three-step pipeline rather than a styling demo:
- Select the tenant once. This demo chooses the active tenant from the query parameter and resolves a single tenant config object.
- Build the tenant-facing layers. Theme, locale defaults, rating style, and feature flags are derived from that config instead of being scattered across controllers or templates.
- Let handlers and views consume capabilities. Downstream code asks for the active layer or capability and renders the correct experience without comparing tenant IDs manually.
If you had to write if ($tenantId === 'globex') inside a template, the architecture would already be losing. The demo should teach the opposite habit: resolve tenant context once, then let the rest of the stack read structured configuration.