"Add new user" 页面如何加载
How does the "Add new user" page loads
我想知道 Orchard "Add user" 页面是如何加载的。我对MVC有一点了解。这些是加载到页面中的部分:
添加用户主页:
..\Orchard.Web\Modules\Orchard.Users\Views\Admin\Create.cshtml
创建用户部分:
..\果园.Web\Modules\Orchard.Users\Views\EditorTemplates\Parts\User.Create.cshtml
角色部分:
..\果园.Web\Modules\Orchard.Roles\Views\EditorTemplates\Parts\Roles.UserRoles.cshtml
保存按钮:
..\果园.Web\Core\Contents\Views\Content.SaveButton.cshtml
我的问题是如何将这些单独的部分合并到一个页面中?哪个 class 负责这样做?
这些独立的部分由负责的 Drivers 结合在一起。这些驱动程序负责渲染该部分附带的形状。例如,SaveButton 在 Orchard 的 ContentsDriver 中呈现。Core/Contents/Drivers/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)
)
我想知道 Orchard "Add user" 页面是如何加载的。我对MVC有一点了解。这些是加载到页面中的部分:
添加用户主页:
..\Orchard.Web\Modules\Orchard.Users\Views\Admin\Create.cshtml
创建用户部分: ..\果园.Web\Modules\Orchard.Users\Views\EditorTemplates\Parts\User.Create.cshtml
角色部分: ..\果园.Web\Modules\Orchard.Roles\Views\EditorTemplates\Parts\Roles.UserRoles.cshtml
保存按钮: ..\果园.Web\Core\Contents\Views\Content.SaveButton.cshtml
我的问题是如何将这些单独的部分合并到一个页面中?哪个 class 负责这样做?
这些独立的部分由负责的 Drivers 结合在一起。这些驱动程序负责渲染该部分附带的形状。例如,SaveButton 在 Orchard 的 ContentsDriver 中呈现。Core/Contents/Drivers/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)
)