我有布局(主页)页面,其中我有节div,标题,内容,页脚,...
在我的标题div中,我有国旗。我尝试实施解决方案,用户在点击国家/地区标志时可以从任何位置重定向到具有国家/地区前缀的同一页面。
我使用位置http://jeromejaglale.com/doc/php/codeigniter_i18n
,我有
/en/Company/
和/fr/Company/
现在,当用户例如浏览/en/Company/History
并点击法国国旗重定向到/fr/Company/History
请考虑这些标志位于布局视图下,因此我无法将这些标记与(公司/历史)视图本身的语言链接相关联。
我应该抓取url值并解析该url并将语言前缀替换为另一种语言前缀,还是有更好的方法。
答案 0 :(得分:2)
你说你使用i18n codeigniter library
。
您可以将开关语言逻辑放在控制器内(默认或您要切换的语言)切换所选语言值。可以使用
检索此值$this->lang->lang();
这将返回您或您使用的其他语言
从那里很容易,反转这些值并放在$data['switchLang'] = 'en';
或'fr'
内,并进一步配置View页面以将该值用作
<?php echo anchor($this->lang->switch_uri($switchLang), 'Switch language'); ?>
答案 1 :(得分:0)
好吧,我要做的就是解析网址,并添加值,因为你总是在同一个地方有语言变量。对我来说,这是唯一的方法。
其他问题是,您如何将数据发送到视图?我认为你可以在调用this-&gt; load-&gt; view()时显示控制器到你的布局的数据,找出方法,因为它取决于你如何发送数据,也许你粘贴部分控制器代码我可以指出你如何做到这一点。
无论如何,你总是要用你的语言标记来写你想去的网址,根据你正在使用的语言,通过解析来改变网址语言部分值。