我是Ektron的新手,我很难找到关于如何获取内容的体面文档。我有一个包含smartforms的文件夹。在我的代码中,我需要获得所有这些smartforms。这就是我到目前为止所做的一切:
var folderManager = new FolderManager();
var folder = folderManager.GetTree(Convert.ToInt64(ConfigurationManager.AppSettings["AlumniSlideshowFolderId"]));
但是从那里开始,我不知道如何获取我的数据。请帮忙!
答案 0 :(得分:1)
这样的事情应该可以解决问题。您实际上想要使用ContentManager
而不是FolderManager
。标准对象非常强大......如果需要,可以进一步优化列表。
var contentManager = new ContentManager();
int recordsPerPage;
int.TryParse(ConfigurationManager.AppSettings["AlumniSlideshow.RecordsPerPage"], out recordsPerPage);
int currentPage;
int.TryParse(HttpContext.Current.Request.QueryString["p"], out currentPage);
if (currentPage <= 0)
{
currentPage = 1;
}
long alumniSlideshowFolderId;
long.TryParse(ConfigurationManager.AppSettings["AlumniSlideshowFolderId"], out alumniSlideshowFolderId);
var criteria = new ContentCriteria();
criteria.AddFilter(ContentProperty.FolderId, CriteriaFilterOperator.EqualTo, alumniSlideshowFolderId);
// By default, the GetList method will use a 'recordsPerPage' value of 50.
criteria.PagingInfo = new PagingInfo(recordsPerPage, currentPage);
var content = contentManager.GetList(criteria);
foreach (var contentData in content)
{
// work with each result here
}
您还提到没有找到好的文档。这里有一些链接。有一些非常好的文档可用,特别是对于较新的FrameworkAPI类。你只需要知道在哪里看。