Как определить сайт MVC в Sitecore (многосайтовый)

В настоящее время я использую обновление 2 7.1, на котором запущено несколько сайтов с использованием веб-форм. Я запускаю новый сайт и хочу использовать MVC, но не могу заставить его работать; однако я могу заставить «веб-сайт» по умолчанию использовать MVC, но не пользовательский сайт.

Например, предположим, что у меня есть два сайта, site1 и site2, site1 — это веб-формы, и он отлично работает, как мне определить «site2», который является MVC? Не уверен, какое значение должно быть в свойстве "physicalFolder". Или сайт должен определяться где-то еще.

Спасибо

<site name="site1"
  targetHostName="site1.com"
  hostName="site1.com"
  virtualFolder="/"
  physicalFolder="/site1"
  rootPath="/sitecore/content/site1"
  startItem="/Home"
  language="en"
  database="master"
  domain="extranet"
  allowDebug="true"
  enablePreview="true"
  enableWebEdit="true"
  enableDebugger="true"
  enableWorkflow="true"
  patch:before="site[@name='website']" />

person Community    schedule 02.06.2014    source источник
comment
Что вы имеете в виду под не можете заставить его работать? Вы получаете сообщение об ошибке?   -  person Ben Bartle    schedule 02.06.2014


Ответы (1)


Параметр PhysicalFolder позволит вам указать физический путь, по которому Sitecore будет искать любые физические файлы, необходимые для указанного сайта. Это один из вариантов, который можно использовать для организации физических файлов для многосайтовых экземпляров.

Вы увидите следующее определение в комментариях web.config:

    physicalFolder: The physical location of files for the site.
                    If the site is based on physical files, this is the path to the folder holding the files.
                    For non-physical sites, this is the place where Sitecore looks for a default.aspx file (to start the pipelines).

Дополнительную информацию о параметре PhysicalFolder можно найти здесь -> http://sdn.sitecore.net/Articles/Administration/Configuring%20Multiple%20Sites/Adding%20New%20Site/site%20Attribute%20Properties/physicalFolder.aspx

Что касается настройки вашего сайта MVC, вам действительно не нужно делать ничего особенного с точки зрения определения вашего сайта. Вы должны просто иметь возможность реплицировать определение Site1 и вносить соответствующие обновления. Sitecore будет использовать правильный метод рендеринга на основе макета и подмакетов, определенных на ваших страницах.

<site name="site2"
 targetHostName="site2.com"
 hostName="site2.com"
 virtualFolder="/"
 physicalFolder="/site2"
 rootPath="/sitecore/content/site2"
 startItem="/Home"
 language="en"
 database="master"
 domain="extranet"
 allowDebug="true"
 enablePreview="true"
 enableWebEdit="true"
 enableDebugger="true"
 enableWorkflow="true"
 patch:before="site[@name='website']" />
person Matt Gartman    schedule 02.06.2014
comment
Следует отметить, что вы не можете смешивать и сопоставлять WebForms/MVC в одном запросе. Таким образом, ваш макет и рендеринг должны быть одного типа для каждого определения страницы. - person jammykam; 02.06.2014
comment
Спасибо. Частично путаница заключалась в том, что я использую виртуальную папку, а для этого требуется физическая папка, я просто присвоил ей значение, и она работает, загружая правильный макет MVC. - person ; 03.06.2014