Prestashop - 导入不同语言的产品的csv文件:未翻译的特征值

时间:2015-04-02 10:33:15

标签: prestashop

我想在Prestashop 1.6中导入两种不同语言的产品的csv文件。 我有2个csv文件,每种语言一个。 当我导入第一语言的csv文件时,一切都很好。

当我导入第二语言的csv文件时,Prestashop无法理解要素值作为第一语言的要素值的转换,而是作为新要素值添加。

它添加为新功能值,因为我使用多功能模块(http://addons.prestashop.com/en/search-filters-prestashop-modules/6356-multiple-features-assign-your-features-as-you-want.html)。 如果没有此模块,第二个csv导入将更新两种语言的功能值。

如何让Prestashop明白它是一种翻译,而不是一项功能的新功能价值?

谢谢!

1 个答案:

答案 0 :(得分:0)

我通过直接更新数据库找到了解决方案。

- 我使用prestashop中的csv import为主要语言导入了所有产品。

- 功能值存储在ps_feature_value_lang表中。 3列:id_feature_value | id_lang |值

- 就我而言,法语是ps_feature_value_lang.id_lang = 1而英语ps_feature_value_lang.id_lang = 2

- 在我做任何更改之前,ps_feature_value_lang的数据如下所示:

id_feature_value | id_lang |值

1 | 1 |我的法语价值

1 | 2 |我的英文价值

- 我创建了一个包含2列的表( myTableOfFeatureValueIWantToImport ):feature_value_FR / feature_value_EN。我用数据填充了这张表。

- 因为我不知道我的特征值的ID(id_feature_value)(prestashop在导入我的第一语言的csv文件时创建了这些ID),我将循环使用 myTableOfFeatureValueIWantToImport的数据并且每次ps_feature_value_lang.id_lang == 2和ps_feature_value_lang.value ==“我要翻译的值”我将更新ps_feature_value_lang.value并翻译我的特征值。

$select = $connection>query("SELECT * FROM myTableOfFeatureValueIWantToImport GROUP BY feature_value_FR");
 $select->setFetchMode(PDO::FETCH_OBJ); 
while( $data = $select->fetch() )
      {  
          $valFR = $data->feature_value_FR;
          $valEN = $data->feature_value_EN;
          $req = $connection->prepare('UPDATE ps_feature_value_lang 
          SET ps_feature_value_lang.value = :valEN
          WHERE ps_feature_value_lang.id_lang = 2
          AND ps_feature_value_lang.value = :valFR
          ');
          $req->execute(array(
              'valEN' => $valEN,
              'valFR' => $valFR 
                )); 
      }

完成:D