0

グループ化された製品を作成し、それに関連する製品を数量 1 および重量 0 で追加しました。このグループ化された製品をホーム検索で検索すると、製品が表示されないため、製品の重量を一括更新する方法はありますか?このリンクhttp://www.magentocommerce.com/boards/viewthread/266066/を参照し、重量を一括更新しましたが、そのため検索が機能しませんが、管理者のバックエンドから各製品の重量を更新すると、機能しますほぼ 100000 を超える製品がありました。

4

2 に答える 2

0

製品の重量を一括更新する簡単なスクリプトを作成しました。2 列の csv があります。最初の列は sku で、もう 1 列は更新する製品の重みです。以下はスクリプトです

set_time_limit(0);

$mageFilename = 'app/Mage.php';
require_once $mageFilename;
Mage::setIsDeveloperMode(true);
ini_set('display_errors', 1);
umask(0);
Mage::app('admin');
Mage::register('isSecureArea', 1);

 try{

$csv = new Varien_File_Csv();
$file = 'set_products_with_weight.csv';
$products = $csv->getData($file);
$count = 0;

$resource = Mage::getSingleton('core/resource');
$readConnection = $resource->getConnection('core_read');
$writeConnection = $resource->getConnection('core_write');

foreach($products as $product)
{

    $weight = (float) $product[1];

    $query = 'UPDATE catalog_product_entity_decimal set value = '.$weight.' WHERE attribute_id = 80 AND entity_id IN (SELECT entity_id FROM catalog_product_entity where sku ="'.$product[0].'")';
    $results = $writeConnection->query($query);


}

} catch(Exception $e) {

    print_r($e);

}

80 は、重み属性の attribute_id です。これをデータベースで確認する必要があります。または、attribute_id を使用した内部結合でクエリを更新し、attribute_code=weight でフィルター処理することもできます。

于 2016-12-29T05:50:13.540 に答える