如何在 TYPO3 中为其他语言的入口点设置变体
How to set up Variants for Entry Points of additional languages in TYPO3
该项目的最终领域将是:
- www.domain.com(英语,主要语言,L=0)
- www.domain.de(德语,L=1)
development/preview 个域是
- dev.domain.com
- dev.domain.de
可以在站点配置的选项卡 "General" 中为主 "Entry Point" 创建变体:
基数:https://dev.domain.com/
条件:applicationContext == "Development"
但是如何为第二语言(德语)设置变体?
这还不可能。相关问题可以在 https://forge.typo3.org/issues/86400.
查看
我会同时使用不同的 config.yml
文件来解决这个问题。
只要您不需要其他特定语言的配置,就可以在您的 Apache 配置中设置环境变量并在您的站点配置中读取它们。这是官方支持的(见here)
站点配置:
base: 'https://%env(BASE_DOMAIN)%/'
languages:
-
base: 'https://%env(BASE_DOMAIN_DE)%/'
Apache 配置(示例):
SetEnvIf Host ".*" TYPO3_CONTEXT=Production
SetEnvIf Host ".*" BASE_DOMAIN=www.domain.com
SetEnvIf Host ".*" BASE_DOMAIN_DE=www.domain.de
SetEnvIf Host "dev.domain.com" TYPO3_CONTEXT=Development
SetEnvIf Host "dev.domain.com" BASE_DOMAIN=dev.domain.com
SetEnvIf Host "dev.domain.de" TYPO3_CONTEXT=Development
SetEnvIf Host "dev.domain.de" BASE_DOMAIN_DE=dev.domain.de
由于TYPO3 v9.5.5 baseVariants可以直接在yaml中添加"base"站点语言的值,与站点中默认的"base" 属性相同。
该项目的最终领域将是:
- www.domain.com(英语,主要语言,L=0)
- www.domain.de(德语,L=1)
development/preview 个域是
- dev.domain.com
- dev.domain.de
可以在站点配置的选项卡 "General" 中为主 "Entry Point" 创建变体: 基数:https://dev.domain.com/ 条件:applicationContext == "Development"
但是如何为第二语言(德语)设置变体?
这还不可能。相关问题可以在 https://forge.typo3.org/issues/86400.
查看我会同时使用不同的 config.yml
文件来解决这个问题。
只要您不需要其他特定语言的配置,就可以在您的 Apache 配置中设置环境变量并在您的站点配置中读取它们。这是官方支持的(见here)
站点配置:
base: 'https://%env(BASE_DOMAIN)%/'
languages:
-
base: 'https://%env(BASE_DOMAIN_DE)%/'
Apache 配置(示例):
SetEnvIf Host ".*" TYPO3_CONTEXT=Production
SetEnvIf Host ".*" BASE_DOMAIN=www.domain.com
SetEnvIf Host ".*" BASE_DOMAIN_DE=www.domain.de
SetEnvIf Host "dev.domain.com" TYPO3_CONTEXT=Development
SetEnvIf Host "dev.domain.com" BASE_DOMAIN=dev.domain.com
SetEnvIf Host "dev.domain.de" TYPO3_CONTEXT=Development
SetEnvIf Host "dev.domain.de" BASE_DOMAIN_DE=dev.domain.de
由于TYPO3 v9.5.5 baseVariants可以直接在yaml中添加"base"站点语言的值,与站点中默认的"base" 属性相同。