silverstripe / errorpage
SilverStripe CMS 的 ErrorPage 组件
Requires
- php: ^8.1
- silverstripe/cms: ^5
- silverstripe/framework: ^5
- silverstripe/vendor-plugin: ^2
Requires (Dev)
- 3.x-dev
- 2.x-dev
- 2.3.x-dev
- 2.3.0-beta1
- 2.2.x-dev
- 2.2.2
- 2.2.1
- 2.2.0
- 2.2.0-rc1
- 2.2.0-beta1
- 2.1.x-dev
- 2.1.2
- 2.1.1
- 2.1.0
- 2.1.0-rc1
- 2.1.0-beta1
- 2.0.x-dev
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-rc1
- 2.0.0-beta1
- 2.0.0-alpha1
- 1.x-dev
- 1.13.x-dev
- 1.13.4
- 1.13.3
- 1.13.2
- 1.13.1
- 1.13.0
- 1.13.0-rc1
- 1.13.0-beta1
- 1.12.x-dev
- 1.12.0
- 1.12.0-rc1
- 1.12.0-beta1
- 1.11.x-dev
- 1.11.0
- 1.11.0-rc1
- 1.11.0-beta1
- 1.10.x-dev
- 1.10.1
- 1.10.0
- 1.10.0-rc1
- 1.10.0-beta1
- 1.9.x-dev
- 1.9.0
- 1.9.0-rc1
- 1.9.0-beta1
- 1.8.x-dev
- 1.8.0
- 1.8.0-rc1
- 1.8.0-beta1
- 1.7.x-dev
- 1.7.0
- 1.7.0-rc1
- 1.7.0-beta1
- 1.6.x-dev
- 1.6.0
- 1.6.0-rc1
- 1.6.0-beta1
- 1.5.x-dev
- 1.5.1
- 1.5.0
- 1.5.0-rc2
- 1.5.0-rc1
- 1.5.0-alpha1
- 1.4.x-dev
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.4.0-rc1
- 1.3.x-dev
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.3.0-rc1
- 1.2.x-dev
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.2.0-beta1
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.1.0-rc2
- 1.1.0-rc1
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.1-rc1
- 1.0.0
- 1.0.0-rc3
- 1.0.0-rc2
- 1.0.0-rc1
- 1.0.0-beta4
- 1.0.0-beta3
- 1.0.0-beta2
- 1.0.0-beta1
This package is auto-updated.
Last update: 2024-09-18 03:30:49 UTC
README
概述
为 Silverstripe CMS 提供了一个 ErrorPage 页面类型,允许 CMS 作者通过错误代码设置错误页面的自定义内容。错误页面响应完全支持主题化。
安装
composer require silverstripe/errorpage
限制
此模块中的功能已从 Silverstripe CMS 模块中分离出来,并保留了一些现有问题。一个值得注意的问题是,生成了静态错误页面,但这些页面很少被提供,也很少重新生成。这可能导致在发生 500 服务器错误时,网站访客看到陈旧或损坏的页面。欢迎贡献力量,如果您想添加功能或修复问题,请提交一个 pull request。
文档
待办事项
主题化
要应用自定义模板,您需要创建一个 ErrorPage.ss 文件,位于 templates/SilverStripe/ErrorPage/ErrorPage.ss
或 templates/SilverStripe/ErrorPage/Layout/ErrorPage.ss
之一。
详细错误信息
如果您在代码库中使用 $this->httpError($code, $message)
并希望包含传递给该方法的消息,您可以将 $ResponseErrorMessage
添加到您的 ErrorPage 模板中。在包含此信息时请谨慎,因为这些消息通常是为开发者而不是最终用户设计的。
例如,您的某个控制器可能由于某些特定原因抛出 401 状态码。非常广泛地说,401 表示请求未经授权;如果您的控制器抛出 401,还可以添加一个特定的原因。
return $this->httpError(401, 'This is only accessible on Sunday before 10AM.');``` ```YourErrorPage.ss <h1>$Title</h1> <% if ResponseErrorMessage %> <p class="lead"> $ResponseErrorMessage </p> <% end_if %> </div>
这些消息将在站点处于开发模式时自动附加到 ErrorPage 模板中。您可以使用 Config API 禁用此功能。将此设置为 false 也将从您的模板中删除 $ResponseErrorMessage 变量。
SilverStripe\ErrorPage\ErrorPage: dev_append_error_message: false
限制 CMS 中的选项
默认情况下,所有可用的错误代码都存在于 CMS 的下拉列表中。这可能会让人不知所措,并且有一些(例如 418)可能会令人困惑。为此,您可以使用配置值 allowed_error_codes
限制下拉列表中的代码,如下所示
SilverStripe\ErrorPage\ErrorPage: allowed_error_codes: - 400 - 403 - 404 - 500
报告问题
请为任何您找到的错误或您缺少的功能 创建一个问题。