Размещение блока из неработающего модуля [закрыто]


Я следовал инструкциям по созданию пользовательского блока от https://www.drupal.org/node/2101565

Мой модуль установлен нормально, и я вижу блок в списке доступных блоков для размещения, но как только я нажимаю "Разместить блок", я просто вижу загрузчик ajax примерно на 1 секунду, а затем ничего не происходит, диалоговое окно остается открытым, и мой блок не размещается. Очистил кэш и т.д. Не помогло, в журнале ошибок не отображается никаких доступных сообщений.

Мой src/Plugin/Block/TestBlock.php файл:

<?php
namespace Drupal\test_block\Plugin\Block;

use Drupal\block\BlockBase;

/**
 * Provides a 'Demo' block.
 *
 * @Block(
 *   id = "test_block",
 *   admin_label = @Translation("A Test Block"),
 * )
 */
class TestBlock extends BlockBase {
  /**
   * {@inheritdoc}
   */
  public function build() {
    return array(
      '#markup' => $this->t('Hello, World!'),
    );
  }
}
?>

Друпал 8.1.1

 2
Author: kiamlaluno, 2016-05-26

2 answers

В вашем блоке произошла ошибка, которая приводит к фатальной ошибке или исключению.

Щелкните правой кнопкой мыши и откройте блок разместить в новом окне и/или проверьте журналы ошибок.

 6
Author: Berdir, 2016-05-26 18:44:01

Я столкнулся с этим, и это оказалось ошибкой в синтаксисе аннотаций. В частности, вступительный комментарий аннотации содержал символы после "/**". Убедитесь, что ваша аннотация блока начинается так:

 /**
  * short description of block
  *
  * @Block(
  *   id = "custom_module_block_machine_name",
  *   admin_label = @Translation("Admin interface Label"),
  *   category = @Translation("Custom Module or Category Name")
  * )
  */

Https://www.drupal.org/node/1882526

 0
Author: ben.hamelin, 2018-09-12 12:35:16