我目前正在使用Sitefinity CMS编写网站。有人可以解释如何从page_load上的服务器端代码获取当前动态内容项吗?
我编写了一个用户控件来显示自定义的滑动图像库。我的动态模块中有多种内容类型。用户控件将作为母版页模板的一部分而不是每个页面。在每个页面加载时,我想获取与页面关联的当前dynamiccontent项,并检查它是否具有名称为' Gallery'的属性。如果是这样,我会提取图像并通过用户控件渲染它们。
谢谢,
布赖恩。
答案 0 :(得分:0)
我假设您的图片是相关内容。这将获取您所有类型的已发布内容项。
var dynamicModuleManager = DynamicModuleManager.GetManager();
var moduleType = TypeResolutionService.ResolveType("Telerik.Sitefinity.DynamicTypes.Model.YOURTYPEHERE");
var dcItems = dynamicModuleManager.GetDataItems(moduleType)
.Where(l => l.Status == ContentLifecycleStatus.Master);
foreach (var dcItem in dcItems)
{
//pass the dynamic content item to a model constructor or populate here, then
// get your image this way:
var image = dcItem.GetRelatedItems<Image>("Images").SingleOrDefault();
if (image != null)
{
ImageUrl = image.MediaUrl;
}
}