Orchard CMS自定义窗口小部件视图 [英] Orchard CMS custom widget view

查看:58
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆