0

I'm working on a widget in a custom module called resources and I've written a widget, ResourcesMenu. It has a name space humhub\modules\resources\widgets and in the main view's index.php file it uses humhub\modules\resources\widgets\ResourcesMenu which seems to be correct when compared to the other modules used on the site.

Here is the code for the 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();
    }

}

But in the index.php view file, < ? = ResourcesMenu::widget(); ? > results in "Error: Class 'humhub\modules\resources\widgets\ResourcesMenu' not found"

AlanP
  • 447
  • 8
  • 18

1 Answers1

0

It will find the class file if I add an include statement:

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

That is what I had to do.

AlanP
  • 447
  • 8
  • 18