我正在开发一个基于 K2 的 Joomla 网站,具有多语言前端编辑功能。这一切都很好,除了一件事:用另一种语言预览 K2 项目,而不是用来编辑它们。
例如:
- 当 Joomla 设置为荷兰语时,我可以毫无问题地编辑英文项目。但是,如果不先选择“英语”作为网站的语言,我就无法直接查看该项目,否则该项目的直接链接将不起作用。
- 我设法通过修改 K2ModelItem 中的 getData() 函数来解决这个问题,这样就不再检查语言了。然而,Joomla 仍然设置为荷兰语,它不是项目外观的“真实”预览。
因此,我正在寻找一种解决方案,将 Joomla 的语言暂时切换到项目的语言(本例中为英语)并直接切换回来,以便在查看预览后能够继续用荷兰语进行编辑。你认为这可能吗?我需要什么代码来实现这种自动切换?
如果我需要提供更多信息,请告诉我。也许有人有一个创造性的解决方案,谢谢。
[编辑] 似乎在项目 URL 中强制 $lang 参数做得很好,以及我描述的 K2ModelItem 中的修改。但这仅适用于禁用 SEF 的情况。我想听听是否有其他建议。