Продукты отображаются только в админке при добавлении через Magento 1.9 Пользовательский список желаний SOAP API - PullRequest
0 голосов
/ 29 августа 2018

Требование : я новичок в magento, пытаюсь создать пользовательский SOAP API в Magento 1.9 для управления списком пожеланий. Мне нужно подключить его к приложению для Android, которое разрабатывается в Ion V1.
Сначала я попытался использовать это расширение magento-api , но не смог найти способ сохранить информацию о сеансе в Android. Итак, я перешел к разработке собственного API.
Я могу получить информацию о списке желаний (wishlist_id, элементы и т. Д.) И добавить к нему.

Проблема : Но после добавления товара в список желаний с помощью мыльного звонка он отображается только в административной области для клиента, а не на входной стороне веб-сайта ( Пользователь вошел в систему). На странице списка желаемых клиентов отображаются только продукты, добавленные из внешнего интерфейса (браузера).

После сравнения функциональности внешнего интерфейса (/app/code/core/Mage/Wishlist/controllers/IndexController.php) с моим Api.php (показанным ниже) кажется, что в моей переменной $buyRequest отсутствует некий «ключ-форма», но я не слишком понимаю magento, чтобы понять это.

Я добавил Api.php на /app/code/core/Mage/Wishlist/ModelApi.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: добавить каталог товаров в список пожеланий программно в magento

Любая помощь будет оценена.

...