Gutenberg InnerBlocks.Content in Editor



我有一个使用<InnerBlocks />的块。我知道我可以在后端导入InnerBlocks组件,它将渲染块的块编辑器。在我的块的save函数中,我可以使用<InnerBlocks.Content />,它只会渲染块的内容。

我的目标是拥有<InnerBlocks.Content />,即在后端中也是内部块的不可编辑的版本。它是我的街区的状态,它将预览已编辑的设置。我可以使用

<InnerBlocks templateLock="all" /> 

摆脱编辑器中的所有插入点,使得不可能添加新块。但是,现有的内部块仍然是可以编辑的。是否有块属性或编辑器设置可以完全禁用某些块的编辑?还是我可以以另一种方式实现目标?

询问不同:如何在编辑器中获取并显示任何块的内容(具有内部块的内容(?

您方案中块的当前行为是预期的行为。您可以限制用户在块上进行更改意味着添加/删除块,但是块本身及其子块将保持可配置的方式,意味着更改颜色,字体大小等。

您可以使用块过滤器更改块的默认值,其概念与WordPress挂钩一样。尽管您可以通过使用此方法来改变核心块的行为,但是我不建议我引入复杂性或可以影响取决于这些的其他块(即WooCommerce之类的插件块(。我希望在您的情况下开发自定义块,在您的情况下,我可以使用任何属性值来显示或隐藏内部块。

如果您有兴趣在Gutenberg上做出贡献,那么我认为这将是当前块的不错的补充。

最新更新