Я уверен, что вы спрашиваете именно то, что Display
метод ItemController
в Orchard.Core.Contents.Controllers
делает:
public ActionResult Display(int? id, int? version) {
if (id == null)
return HttpNotFound();
if (version.HasValue)
return Preview(id, version);
var contentItem = _contentManager.Get(id.Value, VersionOptions.Published);
if (contentItem == null)
return HttpNotFound();
if (!Services.Authorizer.Authorize(Permissions.ViewContent, contentItem, T("Cannot view content"))) {
return new HttpUnauthorizedResult();
}
var model = _contentManager.BuildDisplay(contentItem);
if (_hca.Current().Request.IsAjaxRequest()) {
return new ShapePartialResult(this,model);
}
return View(model);
}
код мнение, заключается в следующем:
@using Orchard.ContentManagement
@using Orchard.Utility.Extensions
@{
ContentItem contentItem = Model.ContentItem;
Html.AddPageClassNames("detail-" + contentItem.ContentType.HtmlClassify());
}@Display(Model)
Интересно, что такое * API-модуль *? Пожалуйста, дайте более подробную информацию. Также почему вы помечаете вопрос как Orchard 1.6, 1.8, но тогда вы пишете 1.10? Итак, какую версию вы используете? – ViRuSTriNiTy
Получить элемент через contentManager, создать форму и использовать и экземпляр IShapeDisplay.Display (myShape). Верните его как закодированную строку или все, что вам нужно. – Xceno