快速更新MAGENT产品价格
来源:互联网 发布:奥巴马医改利弊 知乎 编辑:程序博客网 时间:2024/06/02 15:15
用后台的magento上传功能, 只是要更新价格而已, 是不是只有几百条或几千条数据要更新几百年
google后, 找到一个更新价格的方面比较快的方法是, 直接操作sql
<?php/** * @author MagePsycho <info@magepsycho.com> * @website http://www.magepsycho.com * @category Export / Import */$mageFilename = 'app/Mage.php';require_once $mageFilename;Mage::setIsDeveloperMode(true);ini_set('display_errors', 1);umask(0);Mage::app('admin');Mage::register('isSecureArea', 1);Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); set_time_limit(0);ini_set('memory_limit','1024M'); /***************** UTILITY FUNCTIONS ********************/function _getConnection($type = 'core_read'){ return Mage::getSingleton('core/resource')->getConnection($type);} function _getTableName($tableName){ return Mage::getSingleton('core/resource')->getTableName($tableName);} function _getAttributeId($attribute_code = 'price'){ $connection = _getConnection('core_read'); $sql = "SELECT attribute_id FROM " . _getTableName('eav_attribute') . " WHERE entity_type_id = ? AND attribute_code = ?"; $entity_type_id = _getEntityTypeId(); return $connection->fetchOne($sql, array($entity_type_id, $attribute_code));} function _getEntityTypeId($entity_type_code = 'catalog_product'){ $connection = _getConnection('core_read'); $sql = "SELECT entity_type_id FROM " . _getTableName('eav_entity_type') . " WHERE entity_type_code = ?"; return $connection->fetchOne($sql, array($entity_type_code));} function _getIdFromSku($sku){ $connection = _getConnection('core_read'); $sql = "SELECT entity_id FROM " . _getTableName('catalog_product_entity') . " WHERE sku = ?"; return $connection->fetchOne($sql, array($sku)); } function _checkIfSkuExists($sku){ $connection = _getConnection('core_read'); $sql = "SELECT COUNT(*) AS count_no FROM " . _getTableName('catalog_product_entity') . " WHERE sku = ?"; $count = $connection->fetchOne($sql, array($sku)); if($count > 0){ return true; }else{ return false; }} function _updatePrices($data){ $connection = _getConnection('core_write'); $sku = $data[0]; $newPrice = $data[1]; $productId = _getIdFromSku($sku); $attributeId = _getAttributeId(); $sql = "UPDATE " . _getTableName('catalog_product_entity_decimal') . " cped SET cped.value = ? WHERE cped.attribute_id = ? AND cped.entity_id = ?"; $connection->query($sql, array($newPrice, $attributeId, $productId));}/***************** UTILITY FUNCTIONS ********************/ $csv = new Varien_File_Csv();$data = $csv->getData('prices.csv'); //path to csvarray_shift($data); $message = '';$count = 1;foreach($data as $_data){ if(_checkIfSkuExists($_data[0])){ try{ _updatePrices($_data); $message .= $count . '> Success:: While Updating Price (' . $_data[1] . ') of Sku (' . $_data[0] . '). <br />'; }catch(Exception $e){ $message .= $count .'> Error:: While Upating Price (' . $_data[1] . ') of Sku (' . $_data[0] . ') => '.$e->getMessage().'<br />'; } }else{ $message .= $count .'> Error:: Product with Sku (' . $_data[0] . ') does\'t exist.<br />'; } $count++;}echo $message;
上传的csv格式如图:
0 0
- 快速更新MAGENT产品价格
- 一些产品价格
- SAP产品价格
- magent controller
- magent操作
- memcached magent
- Magent集群
- 正版Oracle产品价格
- magento 捆绑产品价格
- PYTHO 爬虫,抓去京东产品价格DEMO
- 快速备份/更新数据
- ubuntu 快速更新
- 快速批量更新数据
- 快速更新Android sdk
- androidstudio自动快速更新
- 快速手动更新gradle
- 数据库表快速更新
- magent做memcached集群
- 微信百度天气查询
- C#中方法Show和ShowDialog的使用区别
- android 修改 system 目录下的文件
- android锁屏软件制作
- Java程序员的10道XML面试题
- 快速更新MAGENT产品价格
- SQL Server中的窗口函数
- 黑马程序员--反射的理解应用
- unity3d优化IOS
- intel dpdk在ubuntu12.04中测试testpmd、helloworld程序
- MongoDB 学习(-) 安装
- 健康卧室床头别放5样东西
- 健康卧室床头别放5样东西
- sqlite3中的数据类型