如何使用多树概念设置TYPO3 9.5.x语言

问题描述 投票:3回答:1

对于一个新网站,我必须设置多种语言TYPO3 9.5。我已经为以前的版本做过这个,但是不能让它与9.5版一起使用。现在已经搜索了几天,没有任何结果。所有解决方案均适用于较旧的TYPO3或单树概念。

该网站的结构如下:

  • 主页(重定向到NL) NL(主页荷兰语内容) Algemeen 联系 ... DE(德语内容主页) Allgemeine信息 KONTAKT ...

网址: - https://domain.tld/nl/ - https://domain.tld/nl/algemeen/ - https://domain.tld/nl/contact/ - https://domain.tld/de/ - https://domain.tld/de/allgemeine-info/ - https://domain.tld/de/kontakt/

主页和DE部分是包含所有TypoScript设置的页面。 我不想翻译页面。当你去/nl/时,一切都是荷兰语,当你去/de/时,你在荷兰页面树中,一切都是德语,你在德语页面树。

其他网站使用相同类型的网站结构,在不久的将来,这些网站必须从TYPO3 8.7迁移到9.5。

我已经设置了一个新网站,并通过网站管理 - >网站配置了网站。 根页面ID是为“主页”设置的。 在语言选项卡中,我有默认语言荷兰语(NL)与基础/nl/。 和德国(DE)与基地/de/。 此时没有设置错误处理和静态路由。

我已经从另一个网站添加了一个扩展,其中包含基于流体页和流量的FLUID模板。

我试过在/nl//de/上通过TypoScript(Setup)设置语言。但它被忽略了。我猜这是因为TYPO3 9.5。 NL:

config {
  language = nl
  locale_all = nl_NL.utf8
  sys_language_uid = 0
}

D E:

config {
  language = de
  locale_all = de_DE.utf8
  sys_language_uid = 1
}

在这种设置中,https://domain.tld/de/allgemeine-info/的标准slu is是https://domain.tld/de/de/allgemeine-info/。当我手动设置slug时,我可以得到我想要的东西..那种,但是你必须为每一页设置slug。我也可以打电话给https://domain.tld/de/nl/algemeen/https://domain.tld/nl/de/allgemeine-info/,这是不行的。

有没有办法只通过TypoScript设置语言,而不是通过站点管理,所以我可以创建一个多树网站?

我希望有人可以帮助我朝着正确的方向前进。

谢谢!

typo3 typoscript typo3-9.x
1个回答
0
投票

您可以通过创建两个单独的站点来实现此方案,每个站点对应一种语言:

在您的示例中,您可以在两种语言的根页面的页面属性中勾选“用作根页面”复选框:

  • NL(主页荷兰语内容)
  • DE(德语内容主页)

然后,您创建两个站点配置。

荷兰人:

rootPageId: <ID of NL page>
base: 'https://www.domain.tld/nl/'
baseVariants: {  }
languages:
  -
    title: Dutch
    enabled: true
    languageId: '0'
    base: /
    typo3Language: nl
    locale: nl_NL.utf8
    iso-639-1: nl
    navigationTitle: Dutch
    hreflang: nl-NL
    direction: ltr
    flag: nl
errorHandling: {  }
routes: {  }

而对于德国人:

rootPageId: <ID of DE page>
base: 'https://www.domain.tld/en/'
baseVariants: {  }
languages:
  -
    title: English
    enabled: true
    languageId: '0'
    base: /
    typo3Language: default
    locale: en_US.utf8
    iso-639-1: en
    navigationTitle: English
    hreflang: en-US
    direction: ltr
    flag: us
errorHandling: {  }
routes: {  }

使用此设置,您不需要网站语言记录,因为两个树都将使用默认语言0。

您可能需要为根域添加第三个站点,将用户重定向到/nl pagetree。除了页面ID和base设置不同之外,设置将与荷兰语版本相同。

© www.soinside.com 2019 - 2024. All rights reserved.