Twig Drupal 8-未找到挂钩主题,自定义块的细枝和CSS不起作用

Twig Drupal 8-未找到挂钩主题,自定义块的细枝和CSS不起作用,twig,drupal-8,drupal-modules,drupal-themes,drupal-blocks,Twig,Drupal 8,Drupal Modules,Drupal Themes,Drupal Blocks,我正在处理一个有块的自定义模块。此块有一个表单配置,用户在其中输入相关数据,到目前为止,它保存数据并显示数据,但没有模板(细枝) 我能够使它与一个细枝模板一起工作,但是当细枝文件位于主主题的templates目录下时,它就工作了。我需要它的工作时,模板位于自定义模块目录。最后,我将展示模块的文件结构 我读了很多文档,但都没能让它工作。我不太确定是什么问题,还是我遗漏了什么。我尝试过各种可能的解决方案,但都没有成功 这是.module文件onyx\u experienceia.module fun

我正在处理一个有块的自定义模块。此块有一个表单配置,用户在其中输入相关数据,到目前为止,它保存数据并显示数据,但没有模板(细枝)

我能够使它与一个细枝模板一起工作,但是当细枝文件位于主主题的templates目录下时,它就工作了。我需要它的工作时,模板位于自定义模块目录。最后,我将展示模块的文件结构

我读了很多文档,但都没能让它工作。我不太确定是什么问题,还是我遗漏了什么。我尝试过各种可能的解决方案,但都没有成功

这是.module文件onyx\u experienceia.module

function onyx_experiencia_theme($existing, $type, $theme, $path) {
  return [
    'onyxex' => [
      'template' => 'onyxex',
      'variables' => [
        'featured' => [],
        'events' => [],
      ],
    ],
  ];
}
这是块onyx_experiencia.php

namespace Drupal\onyx_experiencia\Plugin\Block;

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\file\Entity\File;
use Druap\image\Entity\ImageStyle;
class onyx_experiencia extends BlockBase implements BlockPluginInterface {

 /**
   * {@inheritdoc}
   */  
  public function build() {
      return [
            '#theme' => 'onyxex',
            '#events' => ['event1', 'event2'],
            '#featured' => ['featured1', 'featured2'],
        ];

  }
这是html.twig文件onyxex.html.twig正如我前面所说,这个文件位于modules/custom/onyx_/templates

{#
/**
 * @file
 * Profile for onyx_experiencia block.
 */
#}
<h3>Featured Events</h3>
<ul>
    {% for featured_event in featured %}
    <li>{{ featured_event }}</li>
    {% endfor %}
</ul>

<h3>Events</h3>
<ul>
    {% for event in events %}
    <li>{{ event }}</li>
    {% endfor %}
</ul>

无法使其工作,我已尝试在.module文件中添加“渲染元素”、“模板”和“基本挂钩”。。。但似乎也不起作用。有什么想法吗?我刚刚在一个模块中遇到了一个自定义模板的问题。我通过显式设置一个主题建议挂钩解决了这个问题,尽管我像上面一样有主题函数。例如,我的主题函数返回
menu\u local\u tasks\u entity\u user
,然后我设置了一个匹配的建议挂钩<代码>$suggestions[]=“菜单\本地\任务\实体\用户”解决了这个问题,我的模块模板现在可以正常工作了。@DannyEnglander你把$suggestions[]放在哪里了?你需要一个单独的函数。e、 g.
function my_module_theme_suggestions_hook_alter(&$suggestions,array$variables){
   module
    ------custom
    ------------onyx_experiencia
    ----------------------------onyx_experiencia.info.yml
    ----------------------------onyx_experiencia.libraries.yml
    ----------------------------onyx_experiencia.module
    ----------------------------css
    -------------------------------onyx_serv_css.css
    ----------------------------templates
    -------------------------------------onyx-experiencia.html.twig
    ----------------------------src
    -------------------------------Plugin
    -------------------------------------Block
    ------------------------------------------onyx_experiencia.php