basilicom / pimcore-advanced-custom-layout-bundle
配置和创建自定义布局,无需拖放。
v0.4.0
2023-10-11 09:42 UTC
Requires
- php: >=8.1
- phpoffice/phpspreadsheet: ^1.28
- pimcore/admin-ui-classic-bundle: ^1.0
- pimcore/pimcore: ^11.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-17 14:42:36 UTC
README
配置和创建自定义布局,无需拖放。
用例
有时您可能需要为多个数据对象创建多个自定义布局。另外,您希望只调整一个字段,而其余字段保持不变。当前的Pimcore实现使得在ClassDefinition更改时,必须调整所有自定义布局。因此,我们创建了此插件。
在这里,您可以简单地调整字段的可见性和可编辑性,而无需再次拖放。
主要功能
- 保存ClassDefinition也将重新创建自定义布局
- 决定您是想显示所有字段并仅调整指定的字段,还是只想显示指定的字段
- 定义角色和工作流状态,这些状态将自动应用自定义布局
注意:此插件将创建自定义布局,但会根据默认类的布局定义和调整字段属性。隐藏所有字段仍将保留布局元素。
安装
composer require basilicom/pimcore-advanced-custom-layout-bundle --dev
添加新的配置文件 config/packages/custom_layouts.yaml
。示例配置可在 config/packages/example.custom_layouts.yaml
中找到。
配置
advanced_custom_layout:
Pimcore\Model\DataObject\TestObject:
# layouts
custom_layout:
label: "My custom layout"
mode: !php/const Basilicom\AdvancedCustomLayoutBundle\Model\CustomLayoutConfig::MODE_EDIT
auto_apply_roles: []
auto_apply_workflow_states: []
fields:
title:
title: "Overwritten Titel"
editable: false
visible: false
layoutElements:
Data Quality:
title: "Overwritten Titel"
visible: false
Pimcore\Model\DataObject\TestObject:
是您要配置自定义布局的对象的类名。custom_layout
是自定义布局的标识符。您可以为一个类定义多个自定义布局。label
是自定义布局的标签,它将在对象编辑模式中显示。mode
是自定义布局的模式。更多信息请见下文。auto_apply_roles
是将自动应用此自定义布局的角色数组。auto_apply_workflow_states
是将自动应用此自定义布局的工作流状态数组。fields
是用于此自定义布局的字段数组。fields.title
是字段的名称。fields.title.title
是字段在对象编辑模式中显示的新标签。fields.title.editable
是一个布尔值,用于定义字段是否可编辑。fields.title.visible
是一个布尔值,用于定义字段是否可见。layoutElements.Data Quality
将应用于所有名称为Data Quality
的布局元素。layoutElements.Data Quality.title
覆盖布局元素的可见标签。layoutElements.Data Quality.visible
确定布局元素是否可见/添加到自定义布局中
自定义布局模式
编辑模式
具有此设置的自定义布局将包含布局定义中的所有字段。提供的设置将覆盖默认设置。
advanced_custom_layout:
Pimcore\Model\DataObject\TestObject:
# layouts
custom_layout:
label: "My custom layout"
mode: !php/const Basilicom\AdvancedCustomLayoutBundle\Model\CustomLayoutConfig::MODE_EDIT
fields:
title:
title: "Overwritten Titel"
editable: false
visible: false
在此示例中,我们将保留所有布局和字段定义,但覆盖标题,锁定并隐藏字段。
显示模式
具有此设置的自定义布局将隐藏未在配置中定义的所有字段。此外,提供的设置将覆盖有关可编辑性和可见性的默认设置。
advanced_custom_layout:
Pimcore\Model\DataObject\TestObject:
# layouts
custom_layout:
label: "My custom layout"
mode: !php/const Basilicom\AdvancedCustomLayoutBundle\Model\CustomLayoutConfig::MODE_SHOW
fields:
title:
title: "Overwritten Titel"
editable: false
在此示例中,我们将仅显示不可编辑的标题属性。
利用
更新自定义布局
要更新自定义布局,您必须运行以下命令
bin/console basilicom:custom-layouts:load
用于文档目的
在某些情况下,您可能想要为每个布局生成所有字段设置的概览。为了做到这一点,您可以运行以下命令:
bin/console basilicom:custom-layouts:create-excel
文件将创建在 project/var/bundles/AdvancedCustomLayouts/CustomLayouts.xlsx
。
待办事项
- 新模式,用于扩展现有的自定义布局,这在用户事先创建了自定义布局时非常有用。
- 允许通过引用设置布局引用以创建新的自定义布局,这可以轻松创建多个自定义布局。
- ObjectBricks尚不支持。
- 添加自定义逻辑,也允许字段集合使用自定义布局。
- 一旦所有子字段都隐藏,立即隐藏布局元素。
作者
亚历山大·海德里希