Skip to content

Custom Settings (OrchardCore.CustomSettings)

自定义设置 (OrchardCore.CustomSettings)

自定义设置允许网站管理员创建一组全局属性。这些设置在标准设置部分中进行编辑,并可以使用特定权限进行保护。

创建自定义设置

自定义设置按部分组织。每个部分由具有CustomSettings原型的内容类型表示。
创建此类部分时,请记住禁用CreatableListableDraftableSecurable元数据,因为它们不适用。

警告

不要将任何现有的内容类型标记为此CustomSettings原型,因为这将破坏此类型的现有内容项。

自定义设置由部分和字段组成,就像其他任何内容类型一样。
创建后,打开设置菜单项,每个部分都应出现在模块提供的部分旁边。

权限

每个自定义设置部分都会获得专用权限,以允许特定用户对其进行编辑。

要编辑此权限,请打开角色编辑器并转到OrchardCore.CustomSettings功能组。

用法

Liquid

自定义设置(如其他设置)在{{Site.Properties}}对象中可用。
每个部分都可以使用其名称。

例如,名为BlogSettings的自定义设置部分的HtmlBodyPart将可通过{{Site.Properties.BlogSettings.HtmlBodyPart}}访问。

代码

自定义设置是ContentItem,通过将其访问为ContentItem,您可以访问其部分和元数据。

注意

您需要在ContentTypes文档中演示的依赖注入中注册您的ContentPart

以下是获取名为BlogSettings的自定义设置部分的HtmlBodyPart的示例:

警告

这些类型可能会在CMS中进行修改。在消耗它们的代码中,确保这些类型不会在开发周期之外进行修改。

public class MyController : Controller
{
    private readonly ISiteService _siteService;
    public MyController(ISiteService siteService)
    {
        _siteService = siteService;
    }
    public async Task<IActionResult> Index()
    {
        var siteSettings = await _siteService.GetSiteSettingsAsync();
        var blogSettings = siteSettings.As<ContentItem>("BlogSettings");
        var blogHtml = blogSettings.As<HtmlBodyPart>();
 View();
    }
}

视频

该文档由ChatGPT 4 翻译


Last update: March 22, 2023