【问题标题】:Set language cookie on page visit with CodeIgniter使用 CodeIgniter 在页面访问时设置语言 cookie
【发布时间】:2011-12-26 18:27:42
【问题描述】:

我想在用户访问页面时设置一个 cookie,不仅是主页,还包括通过 google 找到该网站的人。

在每个页面上,我都需要检查用户是否使用他的语言设置了 cookie。 如果我没有设置 cookie,如果有,则创建一个,不要做任何事情。

我可以制作一个可以在每个页面上加载的功能吗?如果有,怎么做?

我将 codeIgniter 框架与 i18n 2.1 一起用于多语言。

我还有第二个问题: 我将 i18n 用于多语言。我已将 nl 设置为数组中的第一种语言:

private $languages = array(
    'nl' => 'dutch',
    'en' => 'english',
    'de' => 'german',
    'fr' => 'french'        
);

但是每次您访问我的基本网址时,都会加载英文英文。我错过了什么吗?

编辑:我似乎无法加载正确的语言。 cookie 设置为荷兰语,但是当我转到基本 url 并检查加载了哪些 cookie 时,它​​只会忽略 cookie 并加载英文主页。

【问题讨论】:

    标签: codeigniter cookies internationalization


    【解决方案1】:

    第一个问题:

    要使函数在每个页面上运行,您需要扩展基本 Controller 类。这里有很好的说明:

    http://codeigniter.com/wiki/MY_Controller_-_how_to_extend_the_CI_Controller

    您将创建一个名为 MY_controller.php 的文件并放入 /application/core/。

    然后在扩展的构造方法中,您可以调用将在每个页面上运行的函数。

    我不确定你的第二个问题。我一直只是单独构建语言系统,让用户选择他们的语言。

    【讨论】:

    • 谢谢,效果很好,但是如果我不能使用设置语言 cookie 就没有用了 >_> 那么现在解决问题 2。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    相关资源
    最近更新 更多