2010-11-30 1 views
7

öğelerini almak için Magento'da geçerli API'ları genişletin Magento'ya yeni başladım. Gereksinimleri karşılamak ve JSON biçiminde veri almak için Magento'daki mevcut API sınıflarını genişletmeye çalışıyorum. İhtiyacım:JSON formatında

  1. Ben bir web sitesi Belirli bir mağazada Belirli Kategori tüm ürünleri almak gerekir
  2. tüm kategori ve alt kategori almak gerekir
  3. tüm mağazaları almak gerekir.
  4. Alınan tüm veriler JSON biçiminde olmalıdır.

Herhangi blog/Forum konusu? Her türlü yardım?

Şimdiden teşekkürler. hiç

+0

"API'yi genişlet" ile, Magento'nun sağladığı web hizmetlerini kullanmak istediğinizi mi yoksa yalnızca varolan kitaplık sınıflarını kullanmak istediğiniz anlamına mı geliyor? –

+0

Web servislerini kullanmam gerekiyor. Mevcut sınıfları genişleterek Magento'da genişletmem gerekiyor. – Damodaran

cevap

10

bu Magento wiki sayfasına http://www.magentocommerce.com/wiki/doc/webservices-api/custom-api#creating_custom_adapter_for_api bakınız.

Adımlar:

  1. Sen Mage_Api_Model_Server_Adapter_Interface uygulamalıdır Yeni bir API Sunucu Adaptörü oluşturmanız gerekir.

  2. süreç JSON isteği için Mage_Api_Model_Server_Adapter_Interface::run() yöntemini uygulamak için API sunucu adaptörü

  3. çalıştırın ve JSON sonucu dönecektir bir denetleyici oluşturun. Magento API iş akışını anlamak için bkz. Mage_Api_Model_Server_Handler_Abstract.

+0

Ve burada kullanıma hazır bir JSON-RPC uygulaması: http://www.schmengler-se.de/en/2015/03/ein-json-rpc-adapter-fuer-die-magento-api/ –

2

böyle bir durum olmakla birlikte, bir fikir akla, sonra bir SOAP hizmeti veya XML RPC çağırmak JSON için gerekli her türlü veri dönüştürmek etmektir geldi. Magento SOAP veya XML-RPC web hizmeti sunmaktadır

otomatik çok faydalı kullanıcılar için belirli roller, olarak üretildiğine.

+0

Bunun, * en basit * yöntemi olacağını kabul etti. Performans etkilerini merak ediyorum, ancak ekstra katmanın ek yükü gereksinimleriniz için işe yarayabilir. – shaune

0


ne istediğinizi mi bile Rastgele Ürünler listesi vardır burada https://github.com/app-z/magento-android-web-api
görüyor musunuz?

// 
// Random Products Items 
// 
// http://localhost/magento/web-api.php?route=feed/web_api/random&limit=4&key=key1 
// 
function random_products($limit){ 
    $json = array('success' => true); 

    $products = Mage::getModel('catalog/product')->getCollection(); 
    $products->addAttributeToSelect(array('name', 'thumbnail', 'price')); //feel free to add any other attribues you need. 

    Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products); 
    Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products); 
    $products->getSelect()->order('RAND()')->limit($limit); 

    foreach($products as $product){ 
     $json['products'][] = array(
       'id'  => $product->getId(), 
       'name'  => $product->getName(), 
       'href'  => $product->getProductUrl(), 
       'thumb'  => (string)Mage::helper('catalog/image')->init($product, 'thumbnail'), 
       'pirce'  => Mage::helper('core')->currency($product->getPrice(), true, false) //." ".$currencyCode, 
      ); 
    } 
    return $json; 
}