O bloco personalizado Drupal 8 (módulo) cria um arquivo de modelo de galho

Eu tenho um módulo personalizado que cria um bloco personalizado que possui elementos de campo.

Isso tudo funciona bem, mas eu preciso criar um tema para este bloco. Eu verifiquei os outros posts aqui e tentei sem sorte.

Ativei a depuração do galho e recebi sugestões de temas. Ainda sem sorte.

Será que alguém me pode apontar a direção certa, por favor.

Isto é o que eu tenho até agora:

my_module / my_module.module

// nothing related in here

my_module / src / Plugin / Block / myModuleBlock.php

<?php

namespace Drupal\my_module\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Form\FormStateInterface;

/**
 * Provides a 'ModuleBlock' block.
 *
 * @Block(
 *  id = "module_block",
 *  admin_label = @Translation("My Module"),
 * )
 */
class ModuleBlock extends BlockBase {

  public function blockForm($form, FormStateInterface $form_state) {
    $form['test'] = array(
      '#type' => 'select',
      '#title' => $this->t('test'),
      '#description' => $this->t('test list'),
      '#options' => array(
        'Test' => $this->t('Test'), 
      ),
      '#default_value' => isset($this->configuration['test']) ? $this->configuration['test'] : 'Test',
      '#size' => 0,
      '#weight' => '10',
      '#required' => TRUE,
    );    
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function blockSubmit($form, FormStateInterface $form_state) {
    $this->configuration['test'] = $form_state->getValue('test');
  }

  /**
   * {@inheritdoc}
   */
  public function build() {
    $build = [];
    $build['module_block_test']['#markup'] = '<p>' . $this->configuration['test'] . '</p>';
    return $build;
  }


}

my_module / templates / block - my-module.html.twig // como sugerido por twig debug

<h1>This is a test</h1>
<div id="test-widget">{{ content }}</div>

Devo também observar que no meu my_theme.theme eu tenho isso, mas não acho relevante:

// Add content type suggestions.
function my_theme_theme_suggestions_page_alter(array &$suggestions, array $variables) {
  if ($node = \Drupal::request()->attributes->get('node')) {
    array_splice($suggestions, 1, 0, 'page__node__' . $node->getType());
  }
}

Quanto ao que eu tentei é o seguinte:

public function build() {
    return array(
      '#theme' => 'block--my-module'
    );
}

Mas ainda não vai.

Qualquer ajuda aqui é muito apreciada.

ATUALIZAÇÃO: Então, eu consegui funcionar, mas ainda preciso de ajuda. Eu mudei o modeloblock--my-module.html.twig para o meu diretório de temas e funcionou.

Como faço para que ele funcione no diretório do meu módulo?

questionAnswers(2)

yourAnswerToTheQuestion