Отличный вопрос.Это долгосрочный план, но он может работать:
Почему бы не создать новое устройство для Site2, а в тех случаях, когда необходимо изменить данные презентации Site2, настройте параметры презентации для устройства Site2.Если нет, не устанавливайте их, и устройство по умолчанию будет отображать содержимое.Сложной частью здесь будет настройка способа разрешения устройства.Возможно, вы можете создать собственный преобразователь устройства в конвейере <httpRequestBegin>
:
<processor type="Sitecore.Pipelines.HttpRequest.BeginDiagnostics, Sitecore.Kernel"/>
<!--<processor type="Sitecore.Pipelines.HttpRequest.DeviceResolver, Sitecore.Kernel"/>-->
<processor type="YourProject.Pipelines.HttpRequest.DeviceResolver, YourProject"/>
<processor type="Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel"/>
В вашем процессоре вы можете посмотреть на хост, чтобы определить, какой использовать.
Вы также можете определитьУстройство Site2 на новом узле <site ... />
, как упоминает Пол ниже.Примерно так:
<site name="site1" hostName="site1.com" rootPath="/sitecore/content" startItem="/home" ... />
<site name="site2" hostName="site1.com" device="Site2" rootPath="/sitecore/content" startItem="/home" ... />
Как Site1, так и Site2 указывают на одни и те же части дерева, они просто используют разные устройства.