bitmotion / custom-error-page
根据域名/语言/当前树显示自定义 403/404/503 页面...
Requires
- symfony/yaml: ^3.0 || ^4.0
- typo3/cms-core: ^8.7
- typo3/cms-frontend: ^8.7
Suggests
Conflicts
- bitmotion/bm-custom-404-page: *
Replaces
- bitmotion/custom_error_page: v1.3.0
- typo3-ter/custom-error-page: v1.3.0
This package is auto-updated.
Last update: 2020-04-21 17:06:33 UTC
README
此版本的 custom_error_page 只能用于 >= TYPO3 8 LTS 实例。
如何使用
共有四个步骤需要执行
-
为每个页面根树的每个域名设置 YAML,包括它们的 pids 和特定的 403/404/503 页面。此扩展的“示例”文件夹中有一个示例文件。默认文件目标位置是“typo3conf/custom_error_conf.yml”。
-
将 [FE][pageNotFound_handling] 的值更改为 "USER_FUNCTION:Bitmotion\CustomErrorPage\Utility\CustomErrorPageUtility->showCustom404Page"(不带引号)
-
将 [FE][pageUnavailable_handling] 的值更改为 "USER_FUNCTION:Bitmotion\CustomErrorPage\Utility\CustomErrorPageUtility->showCustom503Page"(不带引号)
在 Resources/Private/Examples
中有一个配置示例。
- 可选:在每个 404 错误页面上添加“错误消息处理”插件,而不是简单的内容元素。
扩展配置
有两个配置选项。
basic.path
(字符串):包含配置的 YAML 文件的路径(见下文)。basic.force404
(布尔值):如果设置,配置的 404 页面将在 403 错误时显示。
配置文件
完整示例
configuration: &default
name: www.domain.tld
pages:
403: 89
404: 12
503: 29
language-pattern:
default: true
en: 0
de: 1
fr: 2
additional-tlds:
- tld: .foo
- tld: .bar
- tld: .foo.bar
https: true
forward-reason: true
404: &404
- domain:
<<: *default
403: &403
<<: *404
503: &503
<<: *404
403 / 404 / 503
包含处理 403、404 或 503 错误的配置数组。所有键都包含具有以下配置选项的域名数组
name
(字符串):域的全名https
(布尔值):如果使用 SSL,则为真pages
(数组):包含页面配置additional-tlds
(数组):包含配置域的更多顶级域名language-pattern
(数组):包含不同语言的配置forward-reason
(布尔值):如果必须将原因转发到错误页面,则为真
pages
pages 数组有两种选项
403
(整数):当发生 403 错误时应该显示的页面的 ID404
(整数):当发生 404 错误时应该显示的页面的 ID503
(整数):当发生 503 错误时应该显示的页面的 ID
additional-tlds
此数组包含更多顶级域名的配置。每个域名都将添加到配置的名称之前。在我们的示例中,这将包括 www.domain.tld.foo、www.domain.tld.bar 和 www.domain.tld.foo.bar。
tld
(字符串):附加域名后缀
也可能
configuration: &default
name: www.domain
[...]
additional-tlds:
- tld: .com
- tld: .de
- tld: .fr
language-pattern
为多语言网站提供的额外配置。此数组包含 ISO 代码及其对应的 sys_language_uid 的映射。
在我们的示例中,我们已配置了三种语言:英文(en)、德文(de)和法语(fr)。域名应在以下地址下可用:www.domain.tld/en/,www.domain.tld/de/ 和 www.domain.tld/fr/。
如果存在一个未在给定的模式中配置的 sys_language_uid(例如 'es'),您将得到一个异常。通过使用 default
键并设置值为 true
来预防这种情况。
ISO-Code
(整数):通用键和值(见上方)default
(布尔值):见上方
插件配置
此插件允许您根据404错误的理由定义自定义的错误信息。实际上,错误信息是内容元素,因此您将能够重用它们。
目前有两种类型的404错误
- 页面未找到(真的)
- 页面未翻译(将提供默认语言的链接)
首先,在一个存储文件夹中创建您想在404页面上显示的所有内容元素。然后,在404页面上添加“错误信息处理”插件,并将内容元素添加到相应的部分。这就完成了!;)