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


CodeIgniter redirect user on the same page but on other language

我有布局(主)页面,我有节div,页眉,内容,页脚,…

在我的headerdiv中有国家国旗。我试图实现解决方案,用户将从任何位置当点击国家标志被重定向到与国家前缀相同的页面。

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

这样的页面

/en/Company//fr/Company/

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

考虑到这些标志在布局视图下,所以我不能将这些标志与(公司/历史)视图本身的语言链接链接起来。

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

您说您使用i18n codeigniter library

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

检索此值
$this->lang->lang();

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

,从那里很容易,反转这些值并放入$data['switchLang'] = 'en';'fr',并进一步配置视图页面使用该值为

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

我要做的是解析url,并添加值,因为语言变量总是在相同的地方。对我来说,这是唯一的方法。

另一个问题是如何将数据发送到视图?我认为你可以在调用这个->load->view()时从控制器向布局显示数据因为这取决于你如何发送数据,也许如果你粘贴部分控制器代码我可以告诉你怎么做。

无论如何,你总是要写你想去的url在你的语言标志,改变url语言部分的值根据你正在使用的语言,通过解析