fostercommerce / entry-type-rules
一个 Craft 插件,允许你在 Craft 部分(Craft CMS)中设置条目类型的规则,以及根据用户组限制谁可以包含条目类型条目。
Requires
- php: ^8.0
- craftcms/cms: ^4.0
Requires (Dev)
- codeception/codeception: ^3.0
- vlucas/phpdotenv: ^3.0
This package is auto-updated.
Last update: 2024-09-24 09:00:03 UTC
README
Craft CMS 3.7.x 的条目类型规则插件
一个 Craft 插件,允许你在 Craft 部分(Craft CMS)中设置条目类型的规则,以及根据用户组限制谁可以包含条目类型条目。
要求
此插件需要 Craft CMS 3.7.x 或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并转到您的 Craft 项目目录
cd /path/to/project
-
然后让 Composer 加载插件
composer require fostercommerce/entry-type-rules
-
在控制面板中,转到设置 → 插件,并点击“安装”按钮以安装“条目类型规则”。
条目类型规则概述
条目类型规则将允许您根据计数限制和/或用户组限制部分中的条目类型。当在结构部分等地方利用条目类型时,这可能很有用,例如,您可能只想在“页面”结构部分中有一个“联系”条目类型,或者您只想允许特定用户创建“博客落地页”条目类型。
例如,如果某个部分的条目类型设置了计数限制,并且该条目类型的条目数量已达到限制,则在创建新条目时,条目类型选择器字段将禁用该条目类型。同样,如果条目类型仅允许特定用户组创建新条目,并且当前用户不在这些用户组中,则该条目类型的选项也将被禁用。
配置条目类型规则
可以从控制面板的设置页面或通过使用配置文件配置条目类型规则,配置文件将覆盖控制面板设置页面中设置的插件设置。
在控制面板设置页面中配置
在控制面板中,转到设置 → 条目类型规则。控制面板设置页面列出了所有结构部分和频道部分及其条目类型。对于每个条目类型,您可以放置条目数量的数值限制,并/或选择可以创建条目类型新条目的用户组。
限制字段
限制字段允许您为条目类型设置条目限制。一旦条目的数量达到该限制,条目类型的选项将在条目编辑表单中禁用。如果您将限制设置为低于该条目类型当前条目数量的数字,将显示警告。 注意:即使有警告,设置也会被保存,这只是通知您。
用户组字段
用户组字段允许您选择可以创建条目类型新条目的用户组。如果用户不属于指定的任何组,则条目类型的选项将在条目编辑表单中禁用。 注意:管理员用户永远不会被限制添加条目。
使用配置文件配置
要通过配置文件配置插件
- 将
config.php
文件从vendor/fostercommerce/entry-type-rules
目录复制到 Craft 的config/
目录 - 将其重命名为
entry-type-rules.php
- 编辑该文件中的
sections
数组,以设置部分、条目类型、限制和用户组设置。
<?php return [ 'sections' => [ // Ex. A 'Pages' structure section handle we want to set rules for entry types in it 'pages' => [ // Ex. A 'Contact Page' entry type handle with rules set to limit it to 1 entry 'contactPage' => [ 'limit' => 1, ], // Ex. A 'Blog Landing' entry type handle with rules set to limit it to 1 entry, // and only allow the 'Site Admins' user group to create new ones 'blogLanding' => [ 'limit' => 1, 'userGroups' => ['siteAdmins'] ], ], // Ex. A 'Blog' channel section handle we want to set rules for entry types in it 'blog' => [ // Ex. A 'Press Releases' entry type handle with rules to only allow the 'Content Editors' // and 'Content Providers' user groups to create new ones for 'pressRelease' => [ 'userGroups' => [ 'contentEditors', 'contentProviders', ] ], ] ] ];
- 在
sections
数组中,您需要包含每个部分的句柄。 - 在这些部分内部,您需要包含为要创建规则的每个条目类型添加的句柄。
- 在条目类型内部,您可以包括以下规则:
limit
- 某个条目类型的条目数量限制userGroups
- 限制哪些用户组可以创建该条目类型的新条目的句柄数组
条目类型规则路线图
以下是我们在努力将其整合到条目类型规则中的附加功能列表
兼容Craft 4✅- 根据父条目的条目类型在结构部分中包含条目类型的规则
- 在Craft多站点的不同站点/语言部分中包含条目类型的规则
- 提供前端方法和变量,以便在通过Craft条目表单提交新条目时实现条目类型规则
- 扩展原生Craft用户组权限,包括条目类型权限