[英]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.