1

我需要更改以下时装店中所有产品的价值。

Current value = 1,000

Coefficient = 0.85

Current value / coefficient = new value

在这个例子中将是

1000 / 0.85 = 1176.47

如何在 Magento 的所有区域(购物车、结帐、管理等)中将其更改为新值?

4

2 回答 2

1

有三个选项,您可以通过提供促销或使用 magento 核心模块在后端使用 magento 产品促销来做到这一点。

如果您有 10K 的产品,您可以通过 magento 管理仪表板中的导入/导出选项来做到这一点。因此,在导出产品 csv 后,您可以在 csv 中添加或进行计算。

或者

只需在 magento db 上使用简单的 sql 查询,就可以获得结果。

存储产品价格的磁数据库表-

  • catalog_product_entity_decimal

  • catalog_product_entity_group_price

  • catalog_product_entity_tier_price

或者

现在终于有了magento核心模块。你可以使用这个代码..

$product = Mage::getModel('catalog/product');
$product->load($productId);
$product->setSpecialPrice($price);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$product->save();
Mage::app()->setCurrentStore(Mage_Core_Model_App::DISTRO_STORE_ID);
$cart = Mage::getSingleton('checkout/cart');
$cart->addProduct($product, array('qty' => $quantity));
$cart->save();

于 2016-01-22T10:03:55.267 回答
0

假设这只是一项一次性任务,那么我建议如下:

$products = Mage::getModel('catalog/product')->getCollection();
$products->setPageSize(100);
$pages = $products->getLastPageNumber();

$currentPage = 1;
$batchNumber = 0;

do {

    $products->setCurPage($currentPage);
    $products->load();

    foreach($products as $product) {

        $origPrice = $product->getPrice();
        $newPrice = $origPrice / 0.875;
        $product->setPrice($newPrice)->save();

     }

    $products->clear();
    $currentPage++;

} while ($currentPage <= $pages);
于 2016-01-19T14:18:57.053 回答