Siteaccesses: site and admin
This page is for developers who configure what a request sees. A siteaccess is a named configuration that the DXP selects for each request: which design, which languages, which part of the content tree, which settings. The idea is the same as the siteaccess of Exponential 6, expressed in YAML.
Contents
- The two siteaccesses you start with
- How settings are resolved
- Where the configuration lives
- Adding a site or a language
- Checking a value
The two siteaccesses you start with
| Siteaccess | Serves | URL |
|---|---|---|
site | The Twig front end | / |
admin | The administration interface | /adminui/ |
Source: skeleton guide, section 2. The administration bundle expects its siteaccesses in the group named by
admin_group_name (admin_group by default).
How settings are resolved
Settings under ibexa.system are read in this order, the later winning: default, the siteaccess group, the
siteaccess itself, and global. The comment in an installed config/packages/ibexa.yaml says so, and adds the tip:
"For multisite installations organize shared config into SiteAccess groups, on single-site you can place shared
config under default".
ibexa:
system:
default: # every siteaccess
content:
default_ttl: '%httpcache_default_ttl%'
site_group: # every siteaccess of the group
image_variations: { }
site: # only this siteaccess
languages: [eng-GB]Where the configuration lives
| What | Key |
|---|---|
| The list of siteaccesses, the default one, the groups, how a request is matched | ibexa.siteaccess (list, default_siteaccess, groups, match) |
| Settings per scope | ibexa.system.<scope> |
| The design of a siteaccess | ibexa.system.<scope>.design (Twig and the design engine) |
The recipes write these files under config/packages/; a project may keep them in other YAML files that the kernel
imports. Search for them with grep -rn "siteaccess:" config/.
Adding a site or a language
- Add the new siteaccess to
ibexa.siteaccess.listand to a group (a newsite2_group, or the existing site group). - Add a matcher under
ibexa.siteaccess.match(by host, by URI element, or another matcher the core offers). - Give it its scope under
ibexa.system:languages, the tree root, thedesign. - Clear the cache and check the value (below).
Add administration siteaccesses only to the admin group, never the public ones.
Checking a value
php bin/console exponential:debug:config-resolver languages --siteaccess=site
php bin/console exponential:debug:config-resolver design --siteaccess=admin
php bin/console debug:config ibexa siteaccessexponential:debug:config-resolver (alias ibexa:debug:config-resolver) shows the value a siteaccess resolves
(Console commands).
Related pages
- The admin UI
- Siteaccess settings in Exponential 6, for comparison
- Coming from Exponential 6
- Free documentation: this page is free to copy, translate and improve under the GNU FDL 1.3.
Become an Exponential Partner
Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.