编辑器中的古腾堡 InnerBlocks.Content
Gutenberg InnerBlocks.Content in Editor
我有一个使用 <InnerBlocks />
的块。我知道我可以在后端导入 InnerBlocks
组件,它会在我的块之上呈现一个块编辑器。在我的块的 save
函数中,我可以使用 <InnerBlocks.Content />
它只会呈现块的内容。
我的目标是 <InnerBlocks.Content />
即在后端也有内部块的不可编辑版本。它是我的块的一种状态,它将在其中预览已编辑的设置。我可以使用
<InnerBlocks templateLock="all" />
删除编辑器中的所有插入点,使其无法添加新块。但是现有的内部块仍然是可编辑的。是否有块属性或编辑器设置来完全禁用某些块的编辑?或者我可以通过其他方式实现我的目标吗?
不同的问题:如何在编辑器中获取和显示任何块(包含内部块的内容)的内容?
您场景中块的当前行为是预期的行为。您可以限制用户在块中进行更改意味着 adding/removing 个块,但块本身及其子块将保持可配置意味着更改颜色、字体大小等
您可以使用 Block Filters 来更改块的默认值,这与 WordPress 挂钩的概念相同。虽然您可以通过使用它来更改核心块的行为,但我不建议这样做,因为它会引入复杂性或会影响依赖于这些的其他块(即插件块,如 WooCommerce)。我更愿意在您的场景中开发自定义块,在其中我可以使用任何属性值显示或隐藏内部块。
如果您有兴趣为 Gutenberg 做贡献,那么我认为这将是对当前区块的一个很好的补充。
我有一个使用 <InnerBlocks />
的块。我知道我可以在后端导入 InnerBlocks
组件,它会在我的块之上呈现一个块编辑器。在我的块的 save
函数中,我可以使用 <InnerBlocks.Content />
它只会呈现块的内容。
我的目标是 <InnerBlocks.Content />
即在后端也有内部块的不可编辑版本。它是我的块的一种状态,它将在其中预览已编辑的设置。我可以使用
<InnerBlocks templateLock="all" />
删除编辑器中的所有插入点,使其无法添加新块。但是现有的内部块仍然是可编辑的。是否有块属性或编辑器设置来完全禁用某些块的编辑?或者我可以通过其他方式实现我的目标吗?
不同的问题:如何在编辑器中获取和显示任何块(包含内部块的内容)的内容?
您场景中块的当前行为是预期的行为。您可以限制用户在块中进行更改意味着 adding/removing 个块,但块本身及其子块将保持可配置意味着更改颜色、字体大小等
您可以使用 Block Filters 来更改块的默认值,这与 WordPress 挂钩的概念相同。虽然您可以通过使用它来更改核心块的行为,但我不建议这样做,因为它会引入复杂性或会影响依赖于这些的其他块(即插件块,如 WooCommerce)。我更愿意在您的场景中开发自定义块,在其中我可以使用任何属性值显示或隐藏内部块。
如果您有兴趣为 Gutenberg 做贡献,那么我认为这将是对当前区块的一个很好的补充。