AEM which is based on Apache Sling [1] provides the necessary functionality through repository-based configuration. When resolving resources, these so-called mappings are applied.
The following example configuration is based on the Geometrixx website that comes per default with a AEM installation. The Geometrixx website is already multilingual and serves perfectly as example. The goal is to configure these mappings:Domain | Content branch |
www.geometrixx.fr | /content/geometrixx/fr |
www.geometrixx.de | /content/geometrixx/de |
These nodes have to be created in the default workspace of the repository via the CRX Content Explorer, required nodetypes in brackets:
1
2
3
4
5
6
7
| /etc /map (sling:Folder) /http (sling:OrderedFolder) /www_geometrixx_fr (sling:Mapping) /www.geometrixx.fr (sling:Mapping) /www_geometrixx_de (sling:Mapping) /www.geometrixx.de (sling:Mapping) |
2 mappings are required:
- map the root context to the index-page of the language branch, e.g.
www.geometrixx.fr
-->/content/geometrixx/fr.html
- map resources to the corresponding language branch
Following is the JSON representation of the configuration necessary to map these 2 domains (
/etc/map/http.tidy.-1.json
):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| { "jcr:primaryType": "sling:OrderedFolder", "www_geometrixx_fr": { "sling:internalRedirect": [ "/content/geometrixx/fr.html" ], "jcr:primaryType": "sling:Mapping", "sling:match": "www.geometrixx.fr/$" }, "www.geometrixx.fr": { "sling:internalRedirect": [ "/content/geometrixx/fr", "/" ], "jcr:primaryType": "sling:Mapping" }, "www_geometrixx_de": { "sling:internalRedirect": [ "/content/geometrixx/de.html" ], "jcr:primaryType": "sling:Mapping", "sling:match": "www.geometrixx.de/$" }, "www.geometrixx.de": { "sling:internalRedirect": [ "/content/geometrixx/de", "/" ], "jcr:primaryType": "sling:Mapping" } } |
No comments :
Post a Comment