2016-11-03 4 views
2

В настоящее время я просматриваю существующий проект Sitecore. Один из элементов имеет рендеринг контроллера, который выводит форму на макет. В методе действий для рендеринга контроллера есть строка, которая, как представляется, получает учетные данные имени базы данных элемента. Я взглянул на макет элемента, однако я не могу найти поле базы данных. Я знаю, что Sitecore.Context.Item предназначен для получения текущего элемента. Тем не менее, я уверен, что в коде ниже, как указывает Sitecore.Context.Item.Database.Name. Любое объяснение будет действительно оценено.Как настроить данные базы данных в файле Sitecore.Context.Item.Database в Sitecore

public ActionResult Form() 
    { 
     Item currentItem = Sitecore.Context.Item; 

     if (!IsValid(currentItem)) 
     { 
      return Redirect(Sitecore.Context.Site.VirtualFolder); 
     } 

     FormModel model = new FormModel(currentItem); 
     model.PageModel.Db = Sitecore.Context.Item.Database.Name; 
     model.PageModel.ItemId = Sitecore.Context.Item.ID.ToString(); 

     return View(model); 
    } 

ответ

1

Ваша недвижимость «База данных» не то, что вы найдете в поле или что-нибудь - это относится к базе данных Sitecore, где находится элемент. В простой настройке, которая, скорее всего, будет «мастером» или «сетью». Свойство name базы данных будет просто ссылаться на строку, которая указывает базу данных (master-web - ...).

Как и в Sitecore, ваш товар может быть из разных баз данных, это свойство может быть использовано для идентификации этого источника. Опубликованные элементы будут в стандартной настройке в веб-базе данных, основная база данных будет содержать все элементы и версии и используется во время редактирования.

2

Sitecore.Context.Item.Database.Name предоставляет базу данных контекста, в которой вы просматриваете элемент. Поэтому, если вы находитесь в редакторе опыта, вы получите мастер или если вы находитесь на сайте, тогда вы получите сеть.

Sitecore.Context предназначен для предоставления контекстной информации, такой как элемент, база данных или язык. Так, например, Sitecore.Context.Item.Language предоставит контекстный язык, на котором вы просматриваете контент на сайте.