Я создал представление с помощью модуля, теперь в контроллере этого представления мне нужно получить определенный тип контента и вернуться к просмотру. Пожалуйста, может кто-нибудь поработать с образцом кода.
Получение типов контента в Orchard CMS
Ответы (1)
Вам нужно будет внедрить службы IContentManager в конструктор вашего контроллера (см. внедрение зависимостей), но, поскольку вам нужно будет заполнить новую форму, вы можете внедрить IOrchardServices, которые будут включать в себя несколько общих OrchardServices в одном экземпляре.
IOrchardServices services;
public MyController(IOrchardServices services){
this.services = services;
}
Затем в своем действии (если вы хотите показать его в интерфейсе, вам нужно будет пометить его как тематическое), сделайте что-то вроде этого:
[Themed]
public ActionResult MyAction(){
//Notice that you can filter the contentItems here, this is just a basic example
var myContentItems = services.ContentManager.Query().ForType("MyContentItem").List();
//You probably need to create a new shape for showing the ContentTypes
var shape = services.New.YourCustomShape(); //Notice that you must create a view that matches this name
shape.YourContentItems = myContentItems;
return new ShapeResult(this, shape);
}
И это все.
person
jmgomez
schedule
29.12.2013
Также взгляните на этот docs.orchardproject.net/Documentation/Writing-a- часть содержимого
- person mberacochea; 30.12.2013