0

我正在尝试使用 CSV 导入项目 - 在“可自定义”列中显示“(0 = 否,1 = 是)”。

我已经阅读了一些关于此的其他线程,它看起来应该像这样格式化:

"Field 1"|1, "Field 2"|1

但是,当我尝试在可自定义的列中使用该语法上传产品时 - 导入失败。

如果我将其更改为 1 或 0,则上传成功;但是我必须进入每个产品,然后单击自定义,然后单击自定义文本并保存它(这是我首先试图避免使用 CSV)。

格式化上传 CSV 以便可自定义字段正确保存的适当方法是什么?

我正在使用 1.6.1.4。

4

1 回答 1

0

不幸的是,它看起来不像是默认 CSV 导入的选项(这很糟糕)。

我能够通过编写一个小脚本来调整数据库来解决它。

脚本如下所示:

// Create connection
$conn = new mysqli($servername, $username, $password, $database);

/* check connection */
if ($conn->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
echo "Connected successfully<br /><br />";

$conn->query("update ps_category_lang set name=SUBSTRING_INDEX(name, '(', 1)  WHERE  name REGEXP '([[:digit:]]+)';"); 

$conn->query("truncate table ps_customization_field;");
$conn->query("INSERT INTO ps_customization_field (id_product,type,required) SELECT id_product,0,0 FROM ps_product WHERE id_shop_default = 1 AND customizable = 1;");
$conn->query("INSERT INTO ps_customization_field (id_product,type,required) SELECT id_product,1,1 FROM ps_product WHERE id_shop_default = 1 AND customizable = 1;"); 

echo "Added uploadable files & customized field to each item!<br /><br />";

$conn->query("truncate table ps_customization_field_lang;");
$conn->query("INSERT INTO ps_customization_field_lang (id_customization_field, id_lang,id_shop,name) select id_customization_field,1,1,'Upload 1' from ps_customization_field WHERE type = 0;");
$conn->query("INSERT INTO ps_customization_field_lang (id_customization_field, id_lang,id_shop,name) select id_customization_field,1,1,'Field 1' from ps_customization_field WHERE type = 1;");

echo "Added appropriate labeling for each field, for each product!<br /><br />";

echo "<h2>Yay, We're done!</h2>";


$conn->close();

显然,这可以更新/更改以满足任何人的要求。

于 2016-06-27T18:34:15.633 回答