製品の出荷特性はps_product
、Prestashopデータベースのテーブルの次のフィールドに保存されます。
- 幅decimal(20,6)
- 高さ10進数(20,6)
- 深さ10進数(20,6)
残念ながら、CSVインポートスクリプト(controllers/admin/AdminImportController.php
)はこれらのフィールドを書き込みません(詳細についてはソースコードを参照してください)。したがって、幅、高さ、奥行きの機能値を[配送]タブの対応するフィールドにコピーする場合、次のMySQLクエリを実行する必要があります(続行する前にデータベースのバックアップを実行してください)。
update ps_product p,
ps_feature_lang fl,
ps_feature_product fp,
ps_feature_value_lang fvl
set p.width=fvl.value
where p.id_product=fp.id_product
and fl.id_feature=fp.id_feature
and fl.name='Width'
and fvl.id_feature_value=fp.id_feature_value;
update ps_product p,
ps_feature_lang fl,
ps_feature_product fp,
ps_feature_value_lang fvl
set p.height=fvl.value
where p.id_product=fp.id_product
and fl.id_feature=fp.id_feature
and fl.name='Height'
and fvl.id_feature_value=fp.id_feature_value;
update ps_product p,
ps_feature_lang fl,
ps_feature_product fp,
ps_feature_value_lang fvl
set p.depth=fvl.value
where p.id_product=fp.id_product
and fl.id_feature=fp.id_feature
and fl.name='Depth'
and fvl.id_feature_value=fp.id_feature_value;
注意:ps_feature_value_lang.value
フィールドは`decimal(20,6)であるのvarchar(255)
に対しps_product.width/height/depth
、クエリは値のみを更新し、メジャー単位は更新しません。
つまり、「ローカリゼーション」設定で、CSVファイルで使用しているのと同じ「寸法単位」を設定する必要があります(たとえば、ダミーファイルでは「cm」を使用しています)。
最後に、「位置」の意味についてです。これは、[機能]タブでさまざまな機能を特定の順序で表示するために使用される単なる序数です。
試していなくても、CSVファイルから新製品の機能を追加できるはずなので、「位置」フィールドで、これらの新機能を追加する必要のある位置を指定することもできます。