繁体   English   中英

CodeIgniter在同一页面上重定向用户,但使用其他语言

[英]CodeIgniter redirect user on the same page but on other language

我有布局(主)页面,我有节div,标题,内容,页脚,...

在我的标题div里面我有国旗。 我正在尝试实施解决方案,用户在点击国家/地区标志时可以从任何位置重定向到具有国家/地区前缀的同一页面。

我正在使用http://jeromejaglale.com/doc/php/codeigniter_i18n位置,我有像

/en/Company/ and /fr/Company/

现在当用户例如冲浪/en/Company/History和点击法国国旗被重定向到/fr/Company/History

请考虑这些标志位于布局视图下,因此我无法将这些标志与(公司/历史)视图本身的语言链接相关联。

我应该抓取url值并解析该url并将语言前缀替换为另一种语言前缀,还是有更好的方法。

你说你使用的是i18n codeigniter library

您可以将开关语言逻辑放在控制器内(默认或您要切换的语言)切换所选语言值。 可以使用检索此值

$this->lang->lang();

这将返回您或您使用的其他语言

从那里很容易,将这些值反转并放入$data['switchLang'] = 'en'; 或者'fr'例如,并进一步配置View页面以将该值用作

<?php echo anchor($this->lang->switch_uri($switchLang), 'Switch language'); ?>

好吧,我要做的就是解析网址,并添加值,因为你总是在同一个地方有语言变量。 对我来说,这是唯一的方法。

其他问题是,您如何将数据发送到视图? 我认为你可以在调用this-> load-> view()时显示控制器到你的布局的数据,找出方法,因为它取决于你如何发送数据,也许你粘贴部分控制器代码我可以指出你该怎么做。

无论如何,您将始终必须使用语言标记编写要使用的URL,并根据您正在使用的语言通过解析更改URL语言部分值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM