有没有办法将CHttpException传递给HTML消息字符串?

eri*_*ric 3 php yii

我用CHttpException(404,$ message)处理404s,$ message变量是一个HTML字符串来实现一些样式.但是CHttpException()对我的$ message进行编码,将HTML呈现为无用的转义字符串.有什么方法可以绕过CHttpException的字符串编码,以便输出HTML吗?

/**
* From PostsController.php
*/

// ...

public function actionCategory($id)
{

   $categoryModel = Categories::model()->findByAttributes(array('idCategory'=>$id));

    if($categoryModel===null){

        $message = "<div class=\"alert alert-danger\">Page Not Found</div>";
        throw new CHttpException(404, $message);
            return;
        }

    // ...
Run Code Online (Sandbox Code Playgroud)

lup*_*tus 5

CHttpException不编码任何东西.默认情况下,消息是在错误视图中编码的protected/views/site/error.php- 我想你只需要在该视图中更改它(或者如果你确实改变了它,则自定义错误视图).只有你应该知道yii抛出的标准错误没有为HTML准备好,所以你应该找到一些方法来区分你的代码抛出的CHttpException和Yii引发的错误.