mmikkel/cp-field-inspect

检查字段处理并轻松编辑字段和元素源设置

2.0.2 2024-08-05 07:41 UTC

README

Scrutinizer Code Quality

CP Field Inspect 是一个小巧的实用插件,可以让 Craft 的内容建模变得更加容易。

该插件向 Craft 控制面板添加了两项功能(因此名字中的第一部分!)

  1. 一个快速访问字段设置的链接,用于元素编辑表单中的字段处理(对于选择显示这些的行政用户)。此链接显示为字段处理中的小齿轮图标,点击此链接将您重定向到字段的设置页面,并在保存设置后返回到您的内容。

  2. 快速访问元素源设置的链接(即条目类型、部分、卷、分类组等)到元素编辑表单、卡片、芯片和内联 Matrix 条目(即

img.png

注意事项!

CP Field Inspect 只有在以下情况下才会向 Craft 控制面板添加字段设置链接和元素源按钮

如果上述任一为假,CP Field Inspect 将绝对不执行任何操作。

此外,字段设置小齿轮需要“在编辑表单中显示字段处理”的行政用户首选项。

要求

此插件需要 Craft CMS 5.0+。

但是,插件似乎什么都没做!

如果 CP Field Inspect 的链接在 allowAdminChanges 启用且用户是管理员的环境中不会出现,原因很可能是网站安装了一个或多个插件或 自定义模块,这些模块在其构造函数或 init() 方法中调用 Craft::$app->getUser()->getIdentity() 或相关方法。这已经确认,由于 Craft 的一个错误,将阻止 CP Field Inspect 显示小齿轮,因为在这种情况下 Craft::$app->getUser()->getIsAdmin() 实际上会返回一个错误的否定。

解决方案是将对 Craft::$app->getUser() 的任何调用(例如 Craft::$app->getUser()->getIdentity() 等)推迟到 Craft 初始化完成后进行(以下内容将放入自定义模块的主要类中)

public function init()
{
    parent::init();
    
    Craft::$app->onInit(function () {
        $this->doIt();
    }
    
}

protected function doIt()
{
    $currentUser = Craft::$app->getUser()->getIdentity();
    // ... all other logic dependant on `$currentUser`
}

免责声明

请在此处报告任何错误或其他问题 这里

插件图标:由创意机构 的 Noun Project 定制搜索