Orchard CMS自定义窗口小部件视图 [英] Orchard CMS custom widget view
本文介绍了Orchard CMS自定义窗口小部件视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为Orchard CMS编写模块,并且需要在小部件中显示我的内容类型的元素.
I'm writing module for Orchard CMS, and I need to display elements of my content type in widget.
Drivers/FilesWidgetDriver.cs:
public class FilesWidgetPartDriver : ContentPartDriver<FilesWidgetPart>
{
private readonly IFileService _fileService;
public FilesWidgetPartDriver(IFileService fileService)
{
_fileService = fileService;
}
protected override DriverResult Display(FilesWidgetPart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_FilesWidget", () => shapeHelper.Parts_FilesWidget(
Files: _fileService.GetFiles()
));
}
}
Models/FilesWidget.cs
public class FilesWidgetPart : ContentPart
{
}
视图/零件/FilesWidget.cshtml
@using ModuleName.Models
@using Orchard.ContentManagement
@{
var files = (IContentQuery<FilePart>)Model.Files;
}
<div>
@foreach (var file in files)
{
@Html.ActionLink(file.FileName, "GetFile", "FileAdmin");
}
</div>
Migrations.cs
public int UpdateFrom1()
{
ContentDefinitionManager.AlterTypeDefinition("FilesWidget", type => type
.WithPart("FilesWidgetPart")
.WithPart("WidgetPart")
.WithSetting("Stereotype", "Widget")
);
return 2;
}
public int UpdateFrom2()
{
ContentDefinitionManager.AlterTypeDefinition("FilesWidget", type => type
.WithPart("CommonPart")
);
return 3;
}
但是当我将小部件添加到页面时,它是空的.怎么了?谢谢!
But when I add widget to page, it's empty. What's wrong? Thank you!
推荐答案
您可能缺少位置.
这篇关于Orchard CMS自定义窗口小部件视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文