mmikkel / incognito-field
plaintext 的替代品,可以设置为禁用、隐藏或只读。
Requires
- php: ^8.2
- craftcms/cms: ^5.0.0-beta.11
This package is auto-updated.
Last update: 2024-08-28 15:13:04 UTC
README
plaintext 的替代品,可以设置为 disabled
、hidden
或 readonly
。
要求
此插件需要 Craft CMS 5.0 或更高版本。
这是什么?
Incognito Field 为 Craft CMS 添加了一个名为 Incognito 的自定义 fieldType。Incognito 字段与常规 PlainText 字段的工作方式完全相同,除了它们可以配置为在元素编辑表单中为 disabled
、readonly
或 hidden
。
Incognito 的一个很好的使用案例是在您需要字段不应通过 CP 编辑时 - 例如,如果您想保存来自馈送或外部 API 的数据到元素模型中。
Incognito Field 既可以独立使用,也可以在 Matrix 块内部使用。
配置 Incognito Field
创建一个新的字段(或将现有的 Plain Text 字段转换为)为 Incognito Field。在 模式 设置中选择您想要的渲染模式,以使字段 hidden
、readonly
、disabled
(或常规、可见且可编辑的 PlainText 字段)。可选地,在高级字段设置中覆盖模式,找到 模式覆盖。
使用 Twig 逻辑覆盖渲染模式
您可以在 模式覆盖
设置字段中使用 Twig 选项来覆盖渲染模式。一个好的用例示例是让字段对管理员用户呈现为可编辑的 PlainText 字段,但对其他所有人隐藏、只读或禁用。
模式覆盖示例
如果元素是未保存的草稿,则呈现为可编辑的 PlainText 字段
{{ element.getIsUnsavedDraft() ? 'plain' }}
为管理员用户呈现为可编辑的 PlainText 字段
{{ currentUser.admin ? 'plain' }}
为特定用户组的用户呈现为可见的、只读的字段
{{ currentUser.isInGroup('editors') ? 'readonly' }}
为对特定站点具有 编辑站点权限 的用户呈现为可编辑的 PlainText 字段
{% set site = craft.app.sites.getSiteByHandle('germany') %} {{ currentUser.can('editSite:' ~ site.uid) ? 'plain' }}
免责声明
请在此处报告任何错误、功能请求或其他问题 这里。