SuperAPI AI 工具集

umbraco-conditions

通用与其它

查看项目

更新于 10-15 21:05

技能介绍

用途:在 Umbraco 后台(backoffice)开发扩展时,Conditions 用于声明扩展生效的前置要求,起到门控作用,依据所在区块、工作区、用户权限或内容类型等上下文,决定扩展是否出现。多个条件之间为 AND 逻辑,全部通过扩展才显示。

主要能力:内置条件包括区块类(Umb.Condition.SectionAlias、Umb.Condition.SectionUserPermission)、工作区类(Umb.Condition.WorkspaceAlias、Umb.Condition.WorkspaceEntityType、Umb.Condition.WorkspaceContentTypeAlias、Umb.Condition.WorkspaceHasCollection)、用户权限类(Umb.Condition.UserPermission.Document、Umb.Condition.CurrentUser.IsAdmin、Umb.Condition.CurrentUser.GroupId)。

使用方式:在扩展 manifest 的 conditions 数组中声明条件,每项包含 alias 与 match(或自定义参数),例如区块条件配合 "alias": "Umb.Condition.SectionAlias" 与 "match": "Umb.Section.Content"。自定义条件需继承 UmbConditionBase,通过 consumeContext 与 observe 观察上下文,并设置 this.permitted 布尔状态;再以 type 为 condition 的 manifest 注册 api。

参考示例位于 /Umbraco-CMS/src/Umbraco.Web.UI.Client/examples/entity-content-type-condition/。实现前应获取最新文档:https://docs.umbraco.com/umbraco-cms/extend-your-project/backoffice-extensions/extending-overview/extension-conditions 。

适用场景:仅在内容区块显示仪表盘、只对特定内容类型显示操作、限制功能仅管理员可用、仅在文档工作区显示视图、按权限启用操作等。

限制:资料未说明具体版本要求、兼容性与性能影响,实施前需查阅上述官方文档确认;本条目为概念性技能说明,未提供可执行安装命令。