Magento层价格批量更改
我需要一点帮助,下面是Magento中价格更新的示例og php代码,请有人给我一个提示,如何在这段代码中放置关系 例如,我需要这个:如果价格>=500,那么tier=1.8 下面的代码增加了所有价格,但我只需要增加等于或昂贵的产品价格,然后500美元Magento层价格批量更改,magento,updates,bulk,Magento,Updates,Bulk,我需要一点帮助,下面是Magento中价格更新的示例og php代码,请有人给我一个提示,如何在这段代码中放置关系 例如,我需要这个:如果价格>=500,那么tier=1.8 下面的代码增加了所有价格,但我只需要增加等于或昂贵的产品价格,然后500美元 <?php $server = "localhost"; $database = ""; $user = ""; $password = ""; $myConn = mysql_connect( $serve
<?php
$server = "localhost";
$database = "";
$user = "";
$password = "";
$myConn = mysql_connect( $server, $user, $password );
$select = mysql_select_db( $database, $myConn );
$query = "SELECT
value_id, value
FROM
catalog_product_entity_decimal
ORDER BY
value_id
ASC";
$result = mysql_query($query) or die(mysql_error());
// 1.04 = 4% (duh) ovdje idu postavke marze
$tier = 1.04;
$i = 0;
while( $row = mysql_fetch_array($result) )
{
if( $row["value"] != NULL )
{
$value = 0;
$value = $row["value"];
$value = round( $value * $tier );
$updQuery = "UPDATE
catalog_product_entity_decimal
SET
value = ".$value."
WHERE
value_id = ".$row["value_id"];
$updResult = mysql_query($updQuery) or die(mysql_error());
$i++;
print "value_id: ".$row["value_id"]." | ";
print "old price: ".$row["value"]." -> ";
print "new price: ".$value."<br/>";
}
}
print "<br/><br/><hr><br/><b>".$i."</b> records updated.<br/><br/>Now go to system -> index management -> and reindex everything";
你好,马特,谢谢你的回答;另一个问题-您能告诉我如何使用供应商XML产品库存live feed(http)将产品自动导入/更新到Magento中吗?非常感谢。MagentoRESTAPI和LinuxCronJob都可以。
The Magento way
$tier = 1.04;
$products = Mage::getModel('catalog/product')->getCollection
->addAttributeToFilter('price' , array( 'gteq' => 500))
->load();
foreach($products as $product){
$product->setPrice($product->getPrice() * $tier);
$product-save();
}
sql direct query
//first get price attribute id
$sql = 'select attribute_id from eav_attribute where attribute_code= "price"';
$attribute_id = mysql_query($sql);
//get entity id which price >=500
$sql = "select eneity_id from catalog_product_entity_decimal d where attribute_id = {$attribute_id[0]} and d.value >= 500";
while($row = mysql_fetch_array($result)){
// do something
}