<p>You can use a matrix field with a block and entries field for each sub-site.</p>

CC BY-SA 4.0
2018-10-10T21:08:10.403Z
2018-10-10T21:08:10.403Z
Trevor Davis
<p>I am trying build a hub of sorts using Craft 3. I want the main site to be the hub which manages most of the data, and then subsequent sites are built on top of that, relating where necessary so as to normalize the core data. I do <strong>NOT</strong> want the entries to propagate from the core site to the sub sites. I want them to only exist in the Core Site and be related to.</p>

<p>Here is the basic site structure:</p>

<ul>
<li>Core Site En (coresite.com)</li>
<li>Core Site Fr (coresite.com/fr)</li>
<li>Sub Site En (subsite.coresite.com)</li>
<li>Sub Site Fr (subsite.coresite.com/fr)</li>
</ul>

<p>I then have an entry on Sub Site with a related Entries field. Since the entries do not propagate, when you try to select an entry, the list of options is empty. To fix this I check "Relate entries from a specific site?". The problem is I can only choose one site, forcing me to choose either the EN or FR version of the Core Site. </p>

<p>If I choose EN that works fine, but when I'm on Sub Site FR and access the related entry, it's in English and doesn't respect the translated version of it on Core Site FR.</p>

<p>This seems to be a big trade off in the decision to treat languages as sites.</p>

<p>Is there something I'm missing?</p>

CC BY-SA 4.0
2018-10-10T19:56:16.667Z
That's natural because you don't propagate them and these are the reasons why you have site groups. So you can populate them within their group to gain all the translations but still handling them in their custom scope. So you have an English + French version in your core site but not an English and French version in the sub site. Then you can relate them properly and fetch the correct language in your template
Robin Schambach
CC BY-SA 4.0
2018-10-10T20:56:49.660Z
Ok I had another comment but believe I've found my confusion. The testing I was doing was changing the actual entry titles, which seems to not have an option for translating only by language and is why I did not see the updates working. I find it confusing that when I'm in Sub Site EN and update an entry, it propagates back to the original entry in Core Site EN where it was first made. What I was looking for was a way to handle things in one site without having those entries accessible in the other sites. I suppose this is not possible unless not using localization and doing it the way in OP?
Dexterity
CC BY-SA 4.0
2018-10-10T20:59:06.647Z
There is of course.. That's what the different translation methods are good for https://craftcms.stackexchange.com/a/27014/5557
Robin Schambach
CC BY-SA 4.0
2018-10-10T21:29:01.053Z
But I must propagate? I want to be able to choose from Core entries in a Sub site related entry field, but without propagating there are no entries to choose from unless I specify a specific site to choose entries from in the field settings. This is what I can't see how to do, regardless of Site Groups. I understand how to achieve when using propagation.
Dexterity
CC BY-SA 4.0
2018-10-10T21:34:28.453Z
That's done via custom relation field that has a different siteId based on the current site id
Robin Schambach
CC BY-SA 4.0
2018-10-10T23:04:18.693Z
I'm not really sure I follow as the only explanation is your own on that other question linked here, but there isn't an example, just pointing to what the source code does. All of this discussion as well as actual examples would be helpful in the documentation. I guess I'll have to propagate all my entries across all my sites instead of just referencing them as I thought I could, and learn to think about things that way when using Craft. Thanks for all your help.
Dexterity
<craft3><localization><multi-site>
Craft 3 Multi Site - Have a related entries field relate to another site, but respect localization
# Craft 3 Multi Site - Have a related entries field relate to another site, but respect localization

(Asked by: username_0 on 2018-10-10)

I am trying build a hub of sorts using Craft 3. I want the main site to be the hub which manages most of the data, and then subsequent sites are built on top of that, relating where necessary so as to normalize the core data. I do **NOT** want the entries to propagate from the core site to the sub sites. I want them to only exist in the Core Site and be related to.

Here is the basic site structure:

* Core Site En (coresite.com)
* Core Site Fr (coresite.com/fr)
* Sub Site En (subsite.coresite.com)
* Sub Site Fr (subsite.coresite.com/fr)

I then have an entry on Sub Site with a related Entries field. Since the entries do not propagate, when you try to select an entry, the list of options is empty. To fix this I check "Relate entries from a specific site?". The problem is I can only choose one site, forcing me to choose either the EN or FR version of the Core Site.

If I choose EN that works fine, but when I'm on Sub Site FR and access the related entry, it's in English and doesn't respect the translated version of it on Core Site FR.

This seems to be a big trade off in the decision to treat languages as sites.

Is there something I'm missing?

**Tags:** craft3, localization, multi-site
> **Comments:**
> **username_1**: That's natural because you don't propagate them and these are the reasons why you have site groups. So you can populate them within their group to gain all the translations but still handling them in their custom scope. So you have an English + French version in your core site but not an English and French version in the sub site. Then you can relate them properly and fetch the correct language in your template  
> **username_0**: Ok I had another comment but believe I've found my confusion. The testing I was doing was changing the actual entry titles, which seems to not have an option for translating only by language and is why I did not see the updates working. I find it confusing that when I'm in Sub Site EN and update an entry, it propagates back to the original entry in Core Site EN where it was first made. What I was looking for was a way to handle things in one site without having those entries accessible in the other sites. I suppose this is not possible unless not using localization and doing it the way in OP?  
> **username_1**: There is of course.. That's what the different translation methods are good for https://craftcms.stackexchange.com/a/27014/5557  
> **username_0**: But I must propagate? I want to be able to choose from Core entries in a Sub site related entry field, but without propagating there are no entries to choose from unless I specify a specific site to choose entries from in the field settings. This is what I can't see how to do, regardless of Site Groups. I understand how to achieve when using propagation.  
> **username_1**: That's done via custom relation field that has a different siteId based on the current site id  
> **username_0**: I'm not really sure I follow as the only explanation is your own on that other question linked here, but there isn't an example, just pointing to what the source code does. All of this discussion as well as actual examples would be helpful in the documentation. I guess I'll have to propagate all my entries across all my sites instead of just referencing them as I thought I could, and learn to think about things that way when using Craft. Thanks for all your help.  

---

## 1 answers

### Answer by username_2 on 2018-10-10. Score: 2

You can use a matrix field with a block and entries field for each sub-site.


---

