I'm building a set of sites with MSM and intend to use a "parent" site for the organization to publish most of the common content that will be used for each of the "child" sites. Think of a restaurant with many locations where you want the location-specific information to be embedded into the page content for that location's site, yet the common information is pulled from the parent site.
For a simple example, if you're on a menu page for location A you'll see that location's prices, which may be different from the other locations. Assuming the menu is the same across all of the restaurants, I'd like to use the parent site to create channel entries for each entree and add in all of the common content there, yet have the location-specific price show on each location's menu page.
One simple option would be to create an entry on the child site and add fields for any of the location-specific content items. Then pass those items to the parent site template via embed parameters.
Child:
<ul>
{exp:channel:entries channel="entrees"}
{embed="parent:menu/entrees" url_title="{url_title}" price="{price}"}
{/exp:channel:entries}
</ul>
Parent:
{exp:channel:entries channel="entrees" site="parent" dynamic="no" url_title="{embed:url_title}"}
<li>
<h2>{title}</h2>
<div class="content">
<img src="{entree_picture}" alt="{title}" />
{entree_description}
<span class="price">${embed:price}</span>
</div>
</li>
{/exp:channel:entries}
The drawback here is that each entry would need to be added on each child site, which doesn't scale well. In addition, the relationship between child site & parent site would be dependent upon the url_title being identical, which is error prone.
Any other options?