获取、修改和删除 CodeIgniter 语言文件中的行



我正在开发一个商业目录的网站。 这些业务被分组到存储在数据库中的类别中。 我现在的问题是这个网站将是多语言的,类别的名称需要存储在语言文件中。 我可以简单地在类别表中添加一个名为"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语言文件。 有人有什么建议吗?

我认为

最简单的方法:

你像这样存储你的类别:

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');

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

最新更新