我需要更改以下时装店中所有产品的价值。
Current value = 1,000
Coefficient = 0.85
Current value / coefficient = new value
在这个例子中将是
1000 / 0.85 = 1176.47
如何在 Magento 的所有区域(购物车、结帐、管理等)中将其更改为新值?
我需要更改以下时装店中所有产品的价值。
Current value = 1,000
Coefficient = 0.85
Current value / coefficient = new value
在这个例子中将是
1000 / 0.85 = 1176.47
如何在 Magento 的所有区域(购物车、结帐、管理等)中将其更改为新值?
有三个选项,您可以通过提供促销或使用 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();
假设这只是一项一次性任务,那么我建议如下:
$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);