【问题标题】:CodeIgniter redirect user on the same page but on other languageCodeIgniter 在同一页面上重定向用户但使用其他语言
【发布时间】:2013-05-21 08:07:50
【问题描述】:

我有布局(主)页面,其中有部分 div、页眉、内容、页脚......

在我的标题 div 中,我有国家标志。我正在尝试实施解决方案,当单击国家/地区标志时,用户会从任何位置重定向到带有国家/地区前缀的同一页面。

我正在使用带有http://jeromejaglale.com/doc/php/codeigniter_i18n 的位置,并且我有类似的页面

/en/Company//fr/Company/

现在,当用户浏览/en/Company/History 并点击法国国旗时,将重定向到/fr/Company/History

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

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

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    你说你使用i18n codeigniter library

    您可以将切换语言逻辑放在控制器中(默认或您要切换语言的那个)切换选定的语言值。可以使用

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      无论如何,你总是必须在你的语言标志中写下你想去的 url,根据你使用的语言,通过解析来改变 url 语言部分的值。

      【讨论】:

        猜你喜欢
        • 2018-05-14
        • 1970-01-01
        • 2015-03-29
        • 1970-01-01
        • 2014-09-09
        • 2020-09-26
        • 1970-01-01
        • 2016-03-07
        • 1970-01-01
        相关资源
        最近更新 更多