fostercommerce / entry-type-rules

一个 Craft 插件,允许你在 Craft 部分(Craft CMS)中设置条目类型的规则,以及根据用户组限制谁可以包含条目类型条目。

安装: 751

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 1

公开问题: 3

类型:craft-plugin

2.0.3 2022-06-25 09:21 UTC

README

Screenshot

Craft CMS 3.7.x 的条目类型规则插件

一个 Craft 插件,允许你在 Craft 部分(Craft CMS)中设置条目类型的规则,以及根据用户组限制谁可以包含条目类型条目。

要求

此插件需要 Craft CMS 3.7.x 或更高版本。

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并转到您的 Craft 项目目录

     cd /path/to/project
    
  2. 然后让 Composer 加载插件

     composer require fostercommerce/entry-type-rules
    
  3. 在控制面板中,转到设置 → 插件,并点击“安装”按钮以安装“条目类型规则”。

条目类型规则概述

条目类型规则将允许您根据计数限制和/或用户组限制部分中的条目类型。当在结构部分等地方利用条目类型时,这可能很有用,例如,您可能只想在“页面”结构部分中有一个“联系”条目类型,或者您只想允许特定用户创建“博客落地页”条目类型。

Screenshot

例如,如果某个部分的条目类型设置了计数限制,并且该条目类型的条目数量已达到限制,则在创建新条目时,条目类型选择器字段将禁用该条目类型。同样,如果条目类型仅允许特定用户组创建新条目,并且当前用户不在这些用户组中,则该条目类型的选项也将被禁用。

配置条目类型规则

可以从控制面板的设置页面或通过使用配置文件配置条目类型规则,配置文件将覆盖控制面板设置页面中设置的插件设置。

在控制面板设置页面中配置

在控制面板中,转到设置 → 条目类型规则。控制面板设置页面列出了所有结构部分和频道部分及其条目类型。对于每个条目类型,您可以放置条目数量的数值限制,并/或选择可以创建条目类型新条目的用户组。

Screenshot

限制字段

限制字段允许您为条目类型设置条目限制。一旦条目的数量达到该限制,条目类型的选项将在条目编辑表单中禁用。如果您将限制设置为低于该条目类型当前条目数量的数字,将显示警告。 注意:即使有警告,设置也会被保存,这只是通知您。

Screenshot

用户组字段

用户组字段允许您选择可以创建条目类型新条目的用户组。如果用户不属于指定的任何组,则条目类型的选项将在条目编辑表单中禁用。 注意:管理员用户永远不会被限制添加条目。

使用配置文件配置

要通过配置文件配置插件

  1. config.php 文件从 vendor/fostercommerce/entry-type-rules 目录复制到 Craft 的 config/ 目录
  2. 将其重命名为 entry-type-rules.php
  3. 编辑该文件中的 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',
                ]
            ],

        ]
      
    ]
];
  1. sections数组中,您需要包含每个部分的句柄
  2. 在这些部分内部,您需要包含为要创建规则的每个条目类型添加的句柄
  3. 在条目类型内部,您可以包括以下规则:
    • limit - 某个条目类型的条目数量限制
    • userGroups - 限制哪些用户组可以创建该条目类型的新条目的句柄数组

条目类型规则路线图

以下是我们在努力将其整合到条目类型规则中的附加功能列表

  • 兼容Craft 4
  • 根据父条目的条目类型在结构部分中包含条目类型的规则
  • 在Craft多站点的不同站点/语言部分中包含条目类型的规则
  • 提供前端方法和变量,以便在通过Craft条目表单提交新条目时实现条目类型规则
  • 扩展原生Craft用户组权限,包括条目类型权限

鸣谢

Foster Commerce提供