В CMS есть настраиваемый тип контента «SideBarLinks». Я создал запрос, чтобы получить список элементов этого типа: «SideBarLinks», а также указал критерии сортировки и фильтрации. Это отлично работает при предварительном просмотре результатов запроса в CMS.
Есть ли способ получить тот же список в коде, скажем, в методе Action любого контроллера? Какой класс/услуги Orchard нужно запрашивать? И как выполнить всю эту фильтрацию, сортировку результатов запроса в методе контроллера?
До сих пор я запрашивал элементы контента, используя приведенные ниже коды, на которые я ссылался через блоги и другие форумы. Полная заслуга перед ними. Кажется, это инициализирует IOrchardServices
и с помощью этой службы получает элементы.
public IOrchardServices Services { get; private set; }
public AdminController(IOrchardServices services, IShapeFactory shapeFactory) {
Services = services;
T = NullLocalizer.Instance;
Logger = NullLogger.Instance;
Shape = shapeFactory;
}
Это метод действия:
public ActionResult List(int id) {
List<ContentItem> query = Services.ContentManager.GetAllVersions(id).ToList();
if (!query.Any()) {
return HttpNotFound();
}
return View(query);
}
Как получить элементы, специфичные для запроса?