Вышла вот такая ошибка
CException
Контроллер SiteController не может найти представление "site/error". (Z:\home\_avtomat_new_1\www\framework\web\CController.php:878)
Хотя в SiteController , есть actionError, в чем дело и как можно настроить оформление для этого?
Не могу понять что делать?
Re: Не могу понять что делать?
это произошло после того как я добавил в Controller функцию удалюящую повторения страниц:
Код: Выделить всё
public function init()
{
$request = Yii::app()->request->requestUri;
$code = 404;
$message = 'Страница не найдена';
// Проверяем, если есть в урле index.php или ?r=, то кидаем 404 ошибку
if ((strpos($request, 'index.php') !== false) || (strpos($request, '?r=') !== false) || (strpos($request, 'index') !== false))
{
// Если это не контроллер по-умолчанию, то кидаем 404 ошибку обычным способом
if (Yii::app()->controller->id !== Yii::app()->defaultController)
throw new CHttpException($code, $message);
// если идентификатора записи не существует
// Отображаем стандартное представление ошибки
$this->render(Yii::app()->errorHandler->errorAction, array(
'code' => $code,
'message'=> $message
));
// Если это контроллер по-умолчанию, кидаем 404 ошибку необычным способом.
header('HTTP/1.0 404 Not Found');
//throw new CHttpException(404,'Указанная запись не найдена');
// Выходим из приложения
Yii::app()->end();
}
}
Re: Не могу понять что делать?
Вам пишет что не нашел преставления а не экшинМаксим007 писал(а):Вышла вот такая ошибка
CException
Контроллер SiteController не может найти представление "site/error". (Z:\home\_avtomat_new_1\www\framework\web\CController.php:878)
Хотя в SiteController , есть actionError, в чем дело и как можно настроить оформление для этого?
Наверно у вас в actionError
Код: Выделить всё
$this->render('site/error', $error);
Код: Выделить всё
$this->render('error', $error);
если так создайте его и вставьте туда следующие
Код: Выделить всё
<div class="alert alert-error">
<h2>Error <?php echo $code; ?></h2>
<div class="error">
<?php echo CHtml::encode($message); ?>
</div>
</div>
Re: Не могу понять что делать?
спасибо за ответ, но все это есть.
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}
Причем, самое что интересное при /index и index.php разное оформление, вот как в первом случае выглядит: https://yadi.sk/d/L9TX5QfVhhmM9 , вот как во втором https://yadi.sk/d/EFrmz3FOhhmQn
public function actionError()
{
if($error=Yii::app()->errorHandler->error)
{
if(Yii::app()->request->isAjaxRequest)
echo $error['message'];
else
$this->render('error', $error);
}
}
Причем, самое что интересное при /index и index.php разное оформление, вот как в первом случае выглядит: https://yadi.sk/d/L9TX5QfVhhmM9 , вот как во втором https://yadi.sk/d/EFrmz3FOhhmQn
Re: Не могу понять что делать?
Вам Максим007 написал, что:
в каталоге: Z:\home\_avtomat_new_1\www\protected\views\site
или
Z:\home\_avtomat_new_1\www\themes\ВАША_ТЕМА\views\site
отсутствует файл error.php или ввобще каталог site
В каком каталоге - зависит от настроек
Читайте сообщения об ошибке и переводите в google, если плохо с английским
в каталоге: Z:\home\_avtomat_new_1\www\protected\views\site
или
Z:\home\_avtomat_new_1\www\themes\ВАША_ТЕМА\views\site
отсутствует файл error.php или ввобще каталог site
В каком каталоге - зависит от настроек
Читайте сообщения об ошибке и переводите в google, если плохо с английским
Processor not found! Software emulation ...