Php 如何访问默认模板中的状态代码和正文?

Php 如何访问默认模板中的状态代码和正文?,php,content-management-system,silverstripe,Php,Content Management System,Silverstripe,如何在控制器的操作模板中显示HTTPResponse状态代码和主体?当我试图设置 $this->response->setStatusCode(400); $this->response->setBody('invalid 2'); 并返回$this仅显示我的操作模板上的内容?如何访问默认模板中的状态代码和正文?该模板用于形成响应正文。在本例中,将响应主体设置为字符串 没有足够的信息说明您正在努力实现的目标 如果您想为特定代码创建一个好的错误页面,那么您应该使用Erro

如何在控制器的操作模板中显示HTTPResponse状态代码和主体?当我试图设置

$this->response->setStatusCode(400);
$this->response->setBody('invalid 2');

并返回$this仅显示我的操作模板上的内容?如何访问默认模板中的状态代码和正文?

该模板用于形成响应正文。在本例中,将响应主体设置为字符串

没有足够的信息说明您正在努力实现的目标


如果您想为特定代码创建一个好的错误页面,那么您应该使用
ErrorPage
type创建一个特殊页面,并使用
$this->httpError(400)在控制器中
ErrorPage
contais是一个字段
ErrorCode
,用于逐个代码查找现有错误页面,可以在模板中使用,但通常您会将错误代码和消息直接放入
内容

您可以执行以下操作:

控制器中添加一个方法,以获取
SS_HTTPResponse
数据:

public function Response()
{
  $response = new ArrayData(array(
    "StatusCode" => $this->getResponse()->getStatusCode(),
    "Body" => $this->getResponse()->getBody()
  ));

  return $response;
}
然后,您可以在模板中使用:


$Response.StatusCode
$Response.Body

是否要返回
$this->Response
?我想访问我的模板中的状态代码和响应正文我想做的是访问我的操作模板中的HttpResponse poperties,就像在Laravel中一样