为什么在自定义 Hubhub 模块中找不到小部件 class

Why is a widget class not found in a custom Hubhub module

我正在一个名为 resources 的自定义模块中开发一个小部件,我已经编写了一个小部件 ResourcesMenu。它有一个名称 space humhub\modules\resources\widgets 并且在主视图的 index.php 文件中它使用 humhub\modules\resources\widgets\ResourcesMenu 与站点上使用的其他模块相比这似乎是正确的。

这是 ResourcesMenu.php

的代码
namespace humhub\modules\resources\widgets;

use Yii;
use humhub\modules\ui\menu\MenuLink;
use humhub\modules\ui\menu\widgets\LeftNavigation;

class ResourcesMenu extends LeftNavigation
{
    public function init()
    {
        /** @var Module $module */
        $module = Yii::$app->getModule('resources');

        $this->panelTitle = Yii::t('ResourcesModule.base', '<strong>Resources</strong> menu');

        $this->addEntry(new MenuLink([
           'id' => 'resources-index',
            'icon' => 'file',
            'label' => Yii::t('ResourcesModule.base', 'All Files'),
            'url' => ['/resources/index'],
            'sortOrder' => 100,
            'isActive' => MenuLink::isActiveState('resources', 'resources', 'index')
        ]));

        $this->addEntry(new MenuLink([
            'id' => 'resources-videos',
            'icon' => 'user',
            'label' => Yii::t('ResourcesModule.base', 'User Videos'),
            'url' => ['/resources/index/videos'],
            'sortOrder' => 100,
            'isActive' => MenuLink::isActiveState('resources', 'resources', 'videos')
        ]));

        parent::init();
    }

}

但是在 index.php 视图文件中,< ? = ResourcesMenu::widget(); ? > 导致“错误:Class 'humhub\modules\resources\widgets\ResourcesMenu' 未找到”

如果我添加 include 语句,它将找到 class 文件:

include "protected/modules/resources/widgets/ResourcesMenu.php";

那是我必须做的。