使用特定计算

时间:2016-01-19 13:39:36

标签: php magento magento-1.7 price

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

Current value = 1,000

Coefficient = 0.85

Current value / coefficient = new value

示例中的

将是

1000 / 0.85 = 1176.47

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

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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);