如何访问我的默认模板中的状态代码和正文?
How do I access status code and body inside my default template?
如何在控制器的操作模板中显示 HTTPResponse 状态代码和正文?当我尝试设置
$this->response->setStatusCode(400);
$this->response->setBody('invalid 2');
and return $这只显示我的操作模板上的内容?如何访问我的默认模板中的状态代码和正文?
模板用于形成响应正文。在您的情况下,您将响应正文设置为字符串。
关于您要实现的目标的信息不足。
如果你想为特定代码创建漂亮的错误页面,那么你应该使用 ErrorPage
类型创建一个特殊页面,并在你的控制器中使用 $this->httpError(400);
。 ErrorPage
包含一个字段ErrorCode
,用于通过代码查找存在的错误页面,可能会在模板中使用,但通常将错误代码和消息直接放入Content
。
你可以这样做:
在您的 Controller
中添加方法以获取 SS_HTTPResponse
数据:
public function Response()
{
$response = new ArrayData(array(
"StatusCode" => $this->getResponse()->getStatusCode(),
"Body" => $this->getResponse()->getBody()
));
return $response;
}
然后在您的模板中您可以使用:
$Response.StatusCode
和 $Response.Body
如何在控制器的操作模板中显示 HTTPResponse 状态代码和正文?当我尝试设置
$this->response->setStatusCode(400);
$this->response->setBody('invalid 2');
and return $这只显示我的操作模板上的内容?如何访问我的默认模板中的状态代码和正文?
模板用于形成响应正文。在您的情况下,您将响应正文设置为字符串。
关于您要实现的目标的信息不足。
如果你想为特定代码创建漂亮的错误页面,那么你应该使用 ErrorPage
类型创建一个特殊页面,并在你的控制器中使用 $this->httpError(400);
。 ErrorPage
包含一个字段ErrorCode
,用于通过代码查找存在的错误页面,可能会在模板中使用,但通常将错误代码和消息直接放入Content
。
你可以这样做:
在您的 Controller
中添加方法以获取 SS_HTTPResponse
数据:
public function Response()
{
$response = new ArrayData(array(
"StatusCode" => $this->getResponse()->getStatusCode(),
"Body" => $this->getResponse()->getBody()
));
return $response;
}
然后在您的模板中您可以使用:
$Response.StatusCode
和 $Response.Body