我有一个由refinerycms 2.1.0
提供支持的网站。
我需要支持4种语言,因此我使用refinerycms-i18n 2.1.0
gem。
我在管理区域显示了所有标志,不同版本的页面似乎都有效。
我在标题中有我的语言菜单:
link_to "ESP", {:locale => :es}, :class => (params[:locale] == "es" ? 'selected' : nil)
链接的生成方式如下:mysite.com/es/...
。
但是,对于英语区域设置,url中没有设置:locale
参数。
问题是,对于除英语之外的所有语言环境,导航菜单中的链接似乎生成错误:使用页面ID代替slug而不是slug。链接看起来像.../es/<page_id>
或.../es/parent_page_slug/<page_id>
。当我点击它们时,会渲染404。对于英语语言环境,一切都很好:.../parent_page_slug/child_page_slug
。
我也有页脚菜单,实现类似于here所描述的,它与所有语言环境完美配合。
我的routes.rb:
get '/' => "application#index"
mount Refinery::Core::Engine, :at => '/'
自2.1.0
以来,据我所知,我甚至无法访问_menu.html.erb文件。我有什么选择?如果需要,我很乐意为您提供更多信息。谢谢你的帮助!
答案 0 :(得分:0)
关于404错误,可能是您没有其他语言的内容。或者,如果您正在翻译页面标题,您可能至少也想用不同语言编写页面标题。
Refinerycms 2.1.0提供了一种生成自定义菜单的不同方式,讨论了here