Не могу понять что делать?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Максим007
Сообщения: 12
Зарегистрирован: 2015.06.15, 13:29

Не могу понять что делать?

Сообщение Максим007 »

Вышла вот такая ошибка
CException
Контроллер SiteController не может найти представление "site/error". (Z:\home\_avtomat_new_1\www\framework\web\CController.php:878)

Хотя в SiteController , есть actionError, в чем дело и как можно настроить оформление для этого?
Максим007
Сообщения: 12
Зарегистрирован: 2015.06.15, 13:29

Re: Не могу понять что делать?

Сообщение Максим007 »

это произошло после того как я добавил в 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();
        }
    } 
Аватара пользователя
Said
Сообщения: 138
Зарегистрирован: 2015.06.04, 10:16

Re: Не могу понять что делать?

Сообщение Said »

Максим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); 
или же нету преставления (protected/views/site/error.php)
если так создайте его и вставьте туда следующие

Код: Выделить всё

<div class="alert alert-error">
    <h2>Error <?php echo $code; ?></h2>
    <div class="error">
    <?php echo CHtml::encode($message); ?>
    </div>
</div>
Максим007
Сообщения: 12
Зарегистрирован: 2015.06.15, 13:29

Re: Не могу понять что делать?

Сообщение Максим007 »

спасибо за ответ, но все это есть.

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
Аватара пользователя
skeef
Сообщения: 67
Зарегистрирован: 2010.10.30, 20:41

Re: Не могу понять что делать?

Сообщение skeef »

Вам Максим007 написал, что:
в каталоге: 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 ...
Ответить