I am trying to create a footer component in SXA 1.8, Sitecore 9.0.2.
The current solution setup consists of one tenant, one shared site ('Site A') and multiple regular (not shared) sites (let's call one of them 'Site B'). Site A is going to be supplied as a base for all the sites of Site B type. All the other sites should be created using page designs created in Site A, but nobody from authors or designers of Site B will not be able to edit anything in Site A.
It does not seem to be possible to create the partial design for header/footer in Site A and then to share it from there to be able to edit it inside Site B. How this can be achieved?
The approach I tried:
All page designs are stored under Site A and are shared across all the sites.
There are two partial designs created for header and footer under Site A, which are used on each of the page designs.
I created a footer item in settings (/Settings/Footer), and I added a branch so it will be created automatically in this location for any new site while the navigation module will be added.
On the footer partial design in Site A, I wanted to add a datasource as /Settings/Footer item with SXA $site token: query:$site/Settings/Footer. It throws an error but the concept works - when I open a page from Site B in Experience Editor I can see that my view is appearing but I am not able to edit the item content in EE. This is where this concept fails.
Is there an easy way to be able to edit the component content on Site B while the Partial and Page designs are stored under shared site A?
local
keyword for data sources sitecore.stackexchange.com/a/2474/16 I never used it with shared sites but I think it could be possible. Try to create partials and use the one from SiteA as a BasePartial. This way you should be able to keep a presentation on SiteA but data sources under SiteB. The disadvantage is you will need separate datasources for each site.