Разрешить вставку отключенных блоков во вложенные пользовательские блоки

Я пытаюсь запретить пользователю вставлять определенные основные блоки, такие как ядро ​​/ абзац, ядро ​​/ заголовок, ядро ​​/ список... в качестве корневых элементов (я хочу, чтобы некоторые пользовательские блоки были вверху). Но в то же время мне нужно разрешить их использование во вложенных пользовательских блоках.

Я пытался отключить его через графический интерфейс Drupal 8 и js. Но, похоже, это глобальный и абсолютный список разрешенных / запрещенных блоков, который также контролирует приложение InnerBlocks.

Я пробовал js:

dispatch( 'core/edit-post' ).hideBlockTypes( [
    'core/paragraph',
] );

InnerBlocks, которые я использую внутри пользовательских блоков:

      <InnerBlocks allowedBlocks={['core/paragraph', 'core/heading', 'core/list']} />

Есть ли способ сделать это "дружественным к Гутенбергу"?

Я использую Gutenberg в Drupal 8. Буду признателен за любую помощь.

Спасибо.

1 ответ

Вероятно, вы могли бы делать то, что хотите, используя комбинацию этих двух модулей.

https://www.drupal.org/project/bean

https://www.drupal.org/project/blockreference

Я не использовал Гутенберг, извините.

Здесь также есть полезное обсуждение создания области блока в вашей теме, которая всегда скрыта, и выделения блоков там, чтобы они были включены (например, могут быть запросами), но не отображаться. https://www.drupal.org/project/twig_tweak/issues/2877132

Другие вопросы по тегам