【问题标题】:OctoberCMS translation language change error using ajax使用 ajax 的 OctoberCMS 翻译语言更改错误
【发布时间】:2018-01-10 19:55:06
【问题描述】:
首先使用 composer 和 git 安装 OctoberCMS,然后使用英语和西班牙语两种语言安装 translate 插件。但是我的 localePicker 有一个错误。当我选择一种语言时,我收到以下错误;
AJAX handler 'onSwitchLocale' was not found.
根据这个线程,是一个 10 月相关的问题。但我只是想确定一下,我该如何解决?
请注意 mysite.com/{langcode}/ 有效。
谢谢
【问题讨论】:
标签:
octobercms
octobercms-plugins
【解决方案1】:
找不到 AJAX 处理程序 onswitchlocale 仅表示您没有将 RainLab.Translate 的组件附加到您的页面或布局
添加到您的布局中:
[localePicker]
forceUrl = 1
【解决方案2】:
这是 2021 年的更新:如果您将 Locale Picker 组件添加到您的 layout、not 部分或页面(如果后者是),则会自动添加 Ajax 处理程序基于布局。这一点很重要。见截图。
在调用布局的 page 内部,我的 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。