0

首先使用 composer 和 git 安装OctoberCMS,然后安装具有英语和西班牙语两种语言的翻译插件。但是我的 localePicker 有一个错误。当我选择一种语言时,我收到以下错误;

AJAX handler 'onSwitchLocale' was not found.

在此处输入图像描述

根据这个线程,是一个十月相关的问题。但我只想确定,我该如何解决?

请注意 mysite.com/{langcode}/ 有效。

谢谢

4

2 回答 2

1

未找到 AJAX 处理程序 onswitchlocale 仅表示您没有将 RainLab.Translate 的组件附加到您的页面或布局

添加到您的布局:

[localePicker]
forceUrl = 1
于 2017-08-08T06:05:55.873 回答
0

这是 2021 年的更新:如果您将 Locale Picker 组件添加到您的布局而不是部分或页面(如果后者基于布局),则会自动添加 Ajax 处理程序。这一点很重要。见截图。

在调用布局的页面内部,我的 HTML 实现是:

 {% if activeLocale == 'en' %}<a href="#" data-request="onSwitchLocale" data-request-data="locale: 'fr'"><img src="flgfr.png" title="Version française" /></a>{% endif %}
 {% if activeLocale == 'fr' %}<a href="#" data-request="onSwitchLocale" data-request-data="locale: 'en'"><img src="flgen.png" title="English version" /></a>{% endif %}

需要注意的是,如果您勾选“强制 URL 架构”选项,单击图像只会将 URL 强制为 /fr 或 /en。 在此处输入图像描述

于 2021-09-15T21:43:15.483 回答