@darknet37

Yii2 не может найти класс, хоть он есть. Что делать?

В файле frontend/views/layouts/main.php пишу:
<?php echo \app\components\MenuWidget::widget() ?>
Создал папку в корне components\MenuWidget.php
Создал класс:
<?php

namespace app\components;

use yii\base\Widget;
use common\models\Category;
use Yii;

class MenuWidget extends Widget
{

}

А дальше выдает ошибку что такой класс вообще не найден.
Error: Class 'app\components\MenuWidget' not found in D:\OpenServer\domains\site.name\frontend\views\layouts\main.php:132

В 132 строке написан код, который сверху
В чем проблема? что я делаю не так?
  • Вопрос задан
  • 497 просмотров
Решения вопроса 1
slo_nik
@slo_nik Куратор тега Yii
Поместите директорию components в frontend
Namespace в файле виджета будет
namespace frontend\components;
В файле main.php будет так:
use frontend\components\MenuWidget;
........
echo MenuWidget::widget();

Это если Вы хотите использовать виджет только для frontend.
Если нужно использовать ещё и для backend, то поместите виджет в common.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы