要求:我是magento
的新手,试图在Magento 1.9中创建自定义SOAP
API来管理愿望清单。我需要将其连接到用ionic V1开发的android应用程序。
起初,我尝试使用此扩展名magento-api,但找不到在android中维护会话信息的方法。因此,我开始开发自己的API。
我能够获取愿望清单信息(wishlist_id,物品等)并添加到其中。
问题:但是,在通过肥皂呼叫将产品添加到愿望清单中之后,该产品仅显示在客户的管理区域中,而不显示在网站的前端(用户已登录)。前端心愿单页面上仅显示从前端(浏览器)添加的产品。
在将前端(/app/code/core/Mage/Wishlist/controllers/IndexController.php
)的功能与我的Api.php(如下所示)进行比较之后,似乎我的$buyRequest
变量缺少一些“ form-key”,但我对magento的理解不多了解这一点。
我在/app/code/core/Mage/Wishlist/ModelApi.php
处添加了Api.php。
我将产品添加到愿望清单的代码如下:
public function create($customer_id, $product_id, $store = null){
$return_result = array(
'code' => 0,
'msg' => null,
'model' => null,
'customer_id' => $customer_id,
'product_id' => $product_id
);
$buyRequest = new Varien_Object(array());
$params = array('product' => $product_id,
'qty' => 1,
'store_id' => $store,
);
$buyRequest->setData($params);
$wishlist = Mage::getModel('wishlist/wishlist')->loadByCustomer($customer_id, true);
$product = Mage::getModel('catalog/product')->load($product_id);
$result = $wishlist->addNewItem($product, $buyRequest);
Mage::helper('wishlist')->calculate();
if($result){
$return_result['msg'] = 'Product '.$product_id.' Added ';
$return_result['model'] = $result;
}
return json_encode($return_result);
}
我使用以下链接来实现添加功能,并使用了/app/code/core/Mage/Wishlist/controllers/IndexController.php
文件中的一些代码:add catalog product in wishlist programmatically in magento
任何帮助将不胜感激。