Posts Tagged: API
-
三 01, 2012
No CommentsMagento 使用Api将Sku添加到Url中
使用Magento Api修改商品Url路径的测试程序,希望对大家理解Api有帮助. 主要目的是通过Api去将商品的sku编号加到商品Url的后面,批量来更新Url,代码如下。 <?php $proxy = new SoapClient('http://www.yourdomain.com/api/soap/?wsdl'); $session = $proxy->login('username', 'abc1234'); //获取全部商品 $products = $proxy->call($session, 'product.list'); //print_r($products); echo count($products); $i = 0; foreach($products as $product) { $i++; if($i>249 && $i<300) { echo $product[sku]."-Start<br />"; //获取商品url $product_one = $proxy->call($session, 'product.info', $product[sku]); //print_r($proxy->call($session, 'product.info', $product[sku])); $new_url = $product_one[url_path].'-'.strtolower($product[sku]); echo $proxy->call($session, 'catalog_product.update', array($product[sku], array('url_path'=> $new_url))); echo $proxy->call($session,...
-
十一 29, 2011
2 Comments使用Magento的api更新tier price
写了段更新Magento tier price的代码,供初学者参考。此代码主要是用来改变Magento tier price的用户组。代码如下 //初始化Api连接 $proxy = new SoapClient('http://www.网址.com/api/soap/?wsdl'); $sessionId = $proxy->login('key', '123456'); function changetierprices($sku,$proxy,$sessionId) { // Get tier prices //$sku ='JScd122'; $tierPrices = $proxy->call($sessionId, 'product_tier_price.info', $sku); //判断是否有tier prices if(count($tierPrices)) { foreach ($tierPrices as $key1=>$value1) { if($value1[customer_group_id] == '1') { //修改tier price的组 $tierPrices[$key1]['customer_group_id'] = 'all'; } } //update $proxy->call($sessionId, 'product_tier_price.update', array($sku, $tierPrices)); //echo '<p>update</p>';...
-
五 03, 2011
2 Comments获得Magento 1.5 全部Api方法
Magento官方的Api文档更新不是很快,有些Magento Api方法可能没有列出来。下面给出获取Magento全部Api方法的代码。其中的Api连接信息,换成你自己的。 此文基于magento1.5版本,其余版本可能稍有不同。 Magento官方文档见:Magento core Api <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>获得全部的Magento Api方法 www.hellokeykey.com</title> <style type="text/css"> dl{} dl dt{} dl dd{ } .box1{ border:2px solid #000; margin-bottom:10px; padding:10px;} .box1 .path{ margin-bottom:10px; border-bottom-style:dashed; border-bottom-color:#000000; border-bottom-width:1px;} </style> </head> <body> <?php $client = new SoapClient('http://www......./api/soap/?wsdl'); $session = $client->login('ApiUser', 'ApiKey');...
-
四 24, 2011
No Comments使用Magento Api给产品添加图片
magento的Api默认就有更新产品图片的功能,今天将我自己测试的代码共享下,供大家学习参考。本次使用magento 1.5版Api,其它版本可能稍有不同。 代码片段如下: //省略初始化Api过程,见我的其余magento API文章 www.hellokeykey.com // 产品图片 // 初始化产品图片信息,注意自己上传个产品图片到magento的产品图片文件夹 // $imagePath为图片路径,如果你使用相对路径,注意测试下是正确 // label为图片的alt属性 // position 为图片的显示顺序 // type 为此图片作为'thumbnail','small_image','image'中的哪一个 // mime为图片类型 $imagePath = "http://www.......magento/media/catalog/product/h/t/htc-touch-diamond.jpg"; //产品图片路径 $newImage = array( 'file' => array( 'name' => 'file_name', 'content' => base64_encode(file_get_contents($imagePath)), 'mime' => 'image/jpeg' ), 'label' => 'Cool Image Through Soap', 'position' => 1, 'types' => array('thumbnail', 'small_image',...
-
四 24, 2011
5 Comments使用Magento Api创建configurable product
今天参考网上的几篇文章,终于创建magento的configurable product成功了。magento的Api本身就不太强大,并且其说明文档也不丰富,很多资料都是很多个博客的文章综合到一起才能明白是怎么回事。将我的代码贴出来,做下笔记吧。 参考文章地址:http://www.stephenrhoades.com/?p=338 http://blog.omnisubsole.com/2009/07/01/configurable-products-in-magento/ 在使用Magento Api前,首先去给我们的核心Api文件添加一段补充代码(当然不应该直接修改核心文件)。 文件路径:Mage/Catalog/Model/Product/Api.php 的_prepareDataForSave中添加如下代码 /* * Check for configurable products array passed through API Call */ if(isset($productData['configurable_products_data']) && is_array($productData['configurable_products_data'])) { $product->setConfigurableProductsData($productData['configurable_products_data']); } if(isset($productData['configurable_attributes_data']) && is_array($productData['configurable_attributes_data'])) { foreach($productData['configurable_attributes_data'] as $key => $data) { //Check to see if these values exist, otherwise try and populate from existing values $data['label'] = (!empty($data['label'])) ? $data['label']...
