bitmotion/custom-error-page

此包已被废弃且不再维护。作者建议使用 typo3/cms-site 包代替。

根据域名/语言/当前树显示自定义 403/404/503 页面...

安装次数: 1,320

依赖: 0

推荐者: 0

安全: 0

星星: 1

关注者: 7

分支: 7

类型:typo3-cms-extension

v1.3.0 2020-02-06 10:03 UTC

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 错误时应该显示的页面的 ID
  • 404(整数):当发生 404 错误时应该显示的页面的 ID
  • 503(整数):当发生 503 错误时应该显示的页面的 ID

additional-tlds

此数组包含更多顶级域名的配置。每个域名都将添加到配置的名称之前。在我们的示例中,这将包括 www.domain.tld.foowww.domain.tld.barwww.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页面上添加“错误信息处理”插件,并将内容元素添加到相应的部分。这就完成了!;)