首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TYPO3 9.5.2插件:多语言:找不到页面404异常,如果不存在页面翻译

TYPO3 9.5.2插件:多语言:找不到页面404异常,如果不存在页面翻译
EN

Stack Overflow用户
提问于 2018-12-13 22:02:52
回答 3查看 1.7K关注 0票数 2

我有一个网站有两种语言,例如德语和英语。De是我的默认语言,没有路径前缀。En,第二种语言,在url中有/en/ as前缀。现在,当我切换到en语言时,菜单项链接在url中有/en/,这很好。但是当我点击一个菜单项时,这并不是在后端显式翻译的,然后我得到一个404错误。我不能说这种行为是错误的,因为在我创建一个页面之前,没有包含这个插件路径的页面。但是我该怎么做呢?为每个页面创建一个翻译,如果已经有数百个页面,这是没有帮助的。是否没有回退(不是内容回退、页面回退)?

站点配置

代码语言:javascript
运行
复制
rootPageId: 2
base: 'http://some-domain.de/'
baseVariants: {  }
languages:
  -
    title: 'Meine tolle Webseite'
    enabled: true
    languageId: '0'
    base: /
    typo3Language: de
    locale: de_DE.UTF-8
    iso-639-1: de
    navigationTitle: ''
    hreflang: ''
    direction: ''
    flag: de
  -
    title: 'Andere Sprache'
    enabled: true
    languageId: '1'
    base: /en/
    typo3Language: en
    locale: en_US.UTF-8
    iso-639-1: en
    navigationTitle: ''
    hreflang: ''
    direction: ''
    fallbackType: fallback
    fallbacks: '0'
    flag: en
errorHandling: {  }
routes: {  }
routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: .html
    map:
      .html: 0
EN

回答 3

Stack Overflow用户

发布于 2018-12-15 07:24:18

存在一个与内容回退相关的开放错误:

https://forge.typo3.org/issues/86762

也许可以尝试升级到9.5.3 (不知道这个问题是否已经修复)。

解决方法:是否要删除英文菜单中未翻译的页面?

然后,您可以为所有页面设置“如果当前语言不存在翻译,则隐藏页面”。此复选框可用于选项卡"language“下的每个页面。

要对所有现有页面执行此操作,请执行以下操作:

代码语言:javascript
运行
复制
UPDATE pages SET l18n_cfg = 2

要为新创建的页面自动设置此标志:在您的扩展中创建一个覆盖pages.php。

代码语言:javascript
运行
复制
typo3conf/ext/[YOUR_EXTENSION]/Configuration/TCA/Overrides/pages.php

并添加l18n_cfg的默认值

代码语言:javascript
运行
复制
$GLOBALS['TCA']['pages']['columns']['l18n_cfg']['config']['default'] = 2;
票数 1
EN

Stack Overflow用户

发布于 2019-01-31 17:23:08

另一种解决方法是创建静态路由,而不是为每个页面创建转换。例如:

代码语言:javascript
运行
复制
route: de/english-slug-of-page
type: uri
source: https://yoursite/english-slug-of-page. 

虽然不是很方便的解决方案。它的缺点是路由到英语页面将更改所选的语言(在示例中从德语到英语)。

在TYPO3 9.5.4中仍未修复此问题。

票数 -1
EN

Stack Overflow用户

发布于 2019-02-15 16:44:30

这应该是对Steffen Mächtel回答的评论,但我没有足够的声誉。

如果要在没有转换时将所有页面都隐藏(在菜单内)存档,可以在模块设置->配置安装范围选项-> FE下设置全局设置(您将在安装工具中找到相同的设置)。这种方法稍微简单一点:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53763611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档