首页 文章

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

提问于
浏览
0

我想在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

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

    • 我在prestashop中使用csv import为主要语言导入了所有产品 .

    • 功能值存储在ps_feature_value_lang表中 . 3列:id_feature_value | id_lang |值

    • 在我的例子中,french是ps_feature_value_lang.id_lang = 1和英语ps_feature_value_lang.id_lang = 2

    • 在我做任何更改之前,ps_feature_value_lang的数据看起来像这样:

    id_feature_value | id_lang | value

    1 | 1 |我的法语 Value

    1 | 2 |我的英文 Value

    • 我创建了一个包含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 == "value I want to translate"我将更新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

相关问题