@Tokenchik

Как решить проблему View not Found – yii\base\ViewNotFoundException?

Перенес сайт на yii на хостинг, все работает кроме модуля admin, на openserver отлично себя чувствовал, все работало, после переноса на хостинг перестал работать модуль, выводится ошибка:

View not Found – yii\base\ViewNotFoundException
The view file does not exist: /home/electro1/public_html/site.ru/modules/admin/views/order/index.php

bd77e2f3ab294e79953cca8ae0aabe98.JPG

042362363000414fb4bf4bd214447115.JPG

На втором скрине видно красный выделена строка 51, починить пока не смог. Версия php requirements не ругается.
  • Вопрос задан
  • 3731 просмотр
Решения вопроса 1
qonand
@qonand
Software Engineer
Сам файл то есть?
Скорее всего у Вас проблема с правами на файлы, поверьте их
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
судя по
/home/electro1/public_html/site.ru/modules/admin/views/order/index.php

а конкретно по
site.ru
у Вас в конфиге борода. Где-то прописан домен и не верный.
Ответ написан
@Mi7teR
Senior Jquery engineer
контроллер ругается на отсутствующий view файл index.php. Проверьте существование файла по пути
/home/electro1/public_html/site.ru/modules/admin/views/order/index.php
Ответ написан
@Alli_baba01
та же проблема, возникает когда повторно создаю модели с помощью Gii.
Ответ написан
Комментировать
Isolution666
@Isolution666
Full-Stack Developer
Напишите функцию.
...
use yii\base\ViewNotFoundException;
...
$path = Yii::getAlias('@web').'/order/index';
...
try {
    // 1) тут пишите то что хотите проверить
    $this->render($path, ['dataProvider' => $dataProvider]);
} catch (ViewNotFoundException $e) {
    // 2) тут выводите "удобную" ошибку, чтобы не закрывать ошибкой 500 или той которая вылезает
    $this->render('myerror');
}
...


Можно обратится и к Yii::getAlias('@frontend') - а вдруг проект лежит не в папке frontend ???
Так что никаких return ...; Либо вы получите представление, либо myerror
ViewNotFoundException это отслеживает.
Да, если файл будет, ошибки не вылезут, а если файла не будет, вы столкнётесь с ViewNotFoundException

Так почему бы сразу не отловить ошибку и просто вывести её в виде текста на странице?
Гораздо лучше чем ошибка на всю страницу.

Ну ведь Easy? Правда? :)))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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