在CodeIgniter语言文件中获取,修改和删除行

时间:2016-02-26 22:49:37

标签: php codeigniter

我正在开发一个商业目录的网站。这些业务按类别分组,存储在数据库中。我现在的问题是这个网站将是多语言的,类别的名称需要存储在语言文件中。我可以简单地在category表中添加一个名为“language_index”的列,然后像这样调用它......

foreach($query_categories->result_array() as $cat){

     $title = $this->lang->line($cat['language_index']);

}

但更大的问题是如果在数据库中添加,修改或删除类别,则修改语言文件以更改,添加或删除某一行。在我创建类别的表单中,我可以遍历所有语言,然后为每种语言添加一个表单字段,以便为每个语言文件保存不同的类别名称...例如:

<input type="text" name="english_cat_title">
<input type="text" name="filipino_cat_title">

但同样,我需要能够轻松修改category_names语言文件。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为最简单的方式:

您可以存储以下类别:

id_category  |  lang  |  name
------------------------------
          1  |    en  |  Cat
          1  |    fr  |  Chat
       ....

您可以制作主键id_category + lang。

然后按照语言获取您的分类:

$category = $this->db->get_where('categories', array('lang' => $user_lang))->row();

然后将结果添加到全局语言中:

$category_lang['category_name'] = $category->name;
$this->lang->language = array_merge($this->lang->language, $category_lang);

echo $this->lang('category_name');

如果你有几行或其他什么,你当然可以适应。