如何"添加新用户"页面加载

时间:2016-03-28 11:59:57

标签: asp.net-mvc orchardcms

我试图找出Orchard"添加用户"页面已加载。我对MVC有一点了解。这些是加载到页面中的部分:

添加用户主页:

.. \ Orchard.Web \模块\ Orchard.Users \视图\管理员\ Create.cshtml

创建用户部分 .. \ Orchard.Web \模块\ Orchard.Users \视图\ EditorTemplates \零件\ User.Create.cshtml

角色部分 .. \ Orchard.Web \模块\ Orchard.Roles \视图\ EditorTemplates \零件\ Roles.UserRoles.cshtml

保存按钮 .. \ Orchard.Web \核心\内容\视图\ Content.SaveButton.cshtml

我的问题是这些单独的部分如何在一个页面中加入?哪个班级负责这样做?

enter image description here

1 个答案:

答案 0 :(得分:1)

这些独立的部分由部件的负责驱动程序连接在一起。这些驱动程序负责渲染该部分附带的形状。例如,SaveButton在Orchard.Core / Contents / Drivers / ContentsDriver中的ContentsDriver中呈现:

protected override DriverResult Editor(ContentPart part, dynamic shapeHelper) {
    var results = new List<DriverResult> { ContentShape("Content_SaveButton", saveButton => saveButton) };

    if (part.TypeDefinition.Settings.GetModel<ContentTypeSettings>().Draftable)
        results.Add(ContentShape("Content_PublishButton", publishButton => publishButton));

    return Combined(results.ToArray());
}

虽然驱动程序负责渲染形状,但驱动程序的启动规则是通过placement.info完成的(参见Orchard.Core / Contents / Placement.info):

<Placement>
    <Place Content_SaveButton="Sidebar:23"/>
</Placement>

如果某处(在模块或主题中)定义了不应显示保存按钮,则可能通过placement.info完成。你可能需要搜索一下这样的地方:

<Placement>
    <!-- This will cause the savebutton not to render -->
    <Place Content_SaveButton="-"/>
</Placement>

或者,因为它表示它应该在SideBar区域中呈现保存按钮,所以使用的某个备用按钮可能不会显示SideBar区域(@Display(Model.SideBar)