У меня есть клиент, которому нужен дизайн одной страницы для своего сайта, где содержимое каждой "страницы" отображается / скрывается с использованием javascript, когда пользователь перемещается по сайту.
Я не уверен влучший способ приблизиться к этому, используя сад.Один из вариантов - разместить все содержимое на одном элементе страницы, но тогда вы потеряете возможность использовать навигационные функции Orchard и не сможете позволить клиенту думать об администрировании с точки зрения страниц.
У кого-нибудь есть идеи или опыт, как лучше всего это настроить в Orchard CMS?
Вот решение, которое я использовал, основываясь на совете Бертрана:
public ActionResult Display(int id)
{
var contentItem = _contentManager.Get(id, VersionOptions.Published);
dynamic model = _contentManager.BuildDisplay(contentItem);
var ctx = _workContextAccessor.GetContext();
ctx.Layout.Metadata.Alternates.Add("Layout_Null");
return new ShapeResult(this, model);
}
Я создал новый модульконтроллер, содержащий метод действия выше.Метод действия принимает параметр для идентификатора части содержимого.Объекты _contentManager и _workContextAccessor внедряются в контроллер.Представление Layout.Null.cshtml было создано в точности так, как предложил Бертран.