プログラムにより.CSVを使用して製品の価格を更新する
-
12-12-2019 - |
質問
私の質問は初めに幅広いですが、後で詳しく説明します。 私は、.csvファイルのSKUと価格を持っている3000の製品があります。今すぐ価格は最近変わりました、そして私はこれらの製品の価格をアップロード/更新したいと思います。 SOAP APIを使用してスクリプトを介してこれを行うための迅速な方法はありますか?
またはこれの周りに簡単な方法はありますか?
アップデート この関数を使用しました http://ww.blog.magepsycho.com/updating-product-prices-in-magento-in-easier-easto-way/ で、価値と価格の不一致です。CSVを通過してから、各SKUの価格を価格に合わせるより良い選択肢はありますか。
解決
SOAPサービスを使用するとは思わないとは思わない。私はそれがおそらく働くことを意味しますが、それは3K製品にとって本当に遅くなります。
代わりにこのスクリプトを試してください。
CSVに2列があるとしましょう。SKUと価格。
$skuIndex = 0;
$priceIndex = 1;
$csv = 'path/to/file.csv';
$io = new Varien_Io_File();
//an array to keep the products by price
$productIdsByPrice = array();
//a product model instance
$productModel = Mage::getSingleton('catalog/product');
//read the csv
$io->streamOpen($csv, 'r+');
while($csvData = $io->streamReadCsv()){
if (count($csvData) < 2) { //skip rows with less than 2 columns
continue;
}
$sku = trim($csvData[$skuIndex]);
//get the product id by sku
$id = $productModel->getIdBySku($sku);
if ($id) {
//if the id exists then mark it for update
$price = trim($csvData[$priceIndex]);
if (!isset($productIdsByPrice[$price])) {
$productIdsByPrice[$price] = array();
}
$productIdsByPrice[$price][] = $id;
}
}
//now you should have the product ids you need to update grouped by price
//just do the fast update
foreach ($productIdsByPrice as $price => $ids) {
Mage::getSingleton('catalog/product_action')->updateAttributes(
$ids, //what products to update
array('price' => $price), //what attributes to update
0 //store id for update
)
}
.
このコードをカスタムモデルまたはヘルパーのいずれかに配置してから実行できます。あなたはコードを再確認したいかもしれません。テストしていません。DBもバックアップします。
[編集]
ファイルからこれを実行する場合は、price_update.php
と同じレベルに呼び出されたものを作成し、これに追加します。
.
<?php
error_reporting(E_ALL | E_STRICT);
define('MAGENTO_ROOT', getcwd());
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app();
これ以降は、CSVを解析し、ブラウザのindex.php
に呼び出し、コールを解析します。
他のヒント
href="htps://i.stack.imgur.com/fewmx.png" rel="nofollownoreferrer"> 可用性、価格、CSV-Updaterを作成しました。 開発や貢献に興味があるので、それをここに投稿してください。
http://lcenok.com/magento-extensions/magento.-csv-product-updater.html https://github.com/lycenok/magento_csv_product_updater
雑儀、ユージーン。
アップデート:マゼント自体に実装された単純なソリューションについて覚えています。
システム - >インポート/エクスポート - > "dataflow - プロファイル"