2010-12-08 19 views
2

Also, ich habe ein Produkt, das benutzerdefinierte Optionen hat. In diesem Fall seine Farbe. Jetzt importiere ich alle Produkteinträge für Stores aus einer großen XML-Datei, also habe ich mich dafür entschieden, benutzerdefinierte Optionen und keine Attribute zu verwenden. Jetzt mache ich die meisten davon vom Magento Api Webservice.Magento WSDL und Produkte

So habe ich folgendes.

$products = $api->soap()->call($api->session(), 'catalog_product.list'); 
foreach($products as $product) 
{ 
    print_r($product); 
    echo "<br />"; 

} 

Jetzt kann ich sehen, welches Produkt benutzerdefinierte Optionen aus dem Feld 'has_options' hat. Aber wie kann ich die benutzerdefinierten Optionen anzeigen? Das Feld 'options_container' hat den Wert 'container2', was soll ich damit machen?

Auch wenn die Entwicklung von Produkten, die magento api webservice mit .....

$api->soap()->call($api->session(), 'catalog_product.create', product_array_values); 

Wie kann ich benutzerdefinierte Optionen für die Produkte erzeugen?

Antwort

2

Dies ist nicht möglich, da in WSDL wir keine Beschreibung product_option

<complexType name="catalogProductCreateEntity"> 
     <all> 
      <element name="categories" type="typens:ArrayOfString" minOccurs="0" /> 
      <element name="websites" type="typens:ArrayOfString" minOccurs="0" /> 
      <element name="name" type="xsd:string" minOccurs="0" /> 
      <element name="description" type="xsd:string" minOccurs="0" /> 
      <element name="short_description" type="xsd:string" minOccurs="0" /> 
      <element name="weight" type="xsd:string" minOccurs="0" /> 
      <element name="status" type="xsd:string" minOccurs="0" /> 
      <element name="url_key" type="xsd:string" minOccurs="0" /> 
      <element name="url_path" type="xsd:string" minOccurs="0" /> 
      <element name="visibility" type="xsd:string" minOccurs="0" /> 
      <element name="category_ids" type="typens:ArrayOfString" minOccurs="0" /> 
      <element name="website_ids" type="typens:ArrayOfString" minOccurs="0" /> 
      <element name="has_options" type="xsd:string" minOccurs="0" /> 
      <element name="gift_message_available" type="xsd:string" minOccurs="0" /> 
      <element name="price" type="xsd:string" minOccurs="0" /> 
      <element name="special_price" type="xsd:string" minOccurs="0" /> 
      <element name="special_from_date" type="xsd:string" minOccurs="0" /> 
      <element name="special_to_date" type="xsd:string" minOccurs="0" /> 
      <element name="tax_class_id" type="xsd:string" minOccurs="0" /> 
      <element name="tier_price" type="typens:catalogProductTierPriceEntityArray" minOccurs="0" /> 
      <element name="meta_title" type="xsd:string" minOccurs="0" /> 
      <element name="meta_keyword" type="xsd:string" minOccurs="0" /> 
      <element name="meta_description" type="xsd:string" minOccurs="0" /> 
      <element name="custom_design" type="xsd:string" minOccurs="0" /> 
      <element name="custom_layout_update" type="xsd:string" minOccurs="0" /> 
      <element name="options_container" type="xsd:string" minOccurs="0" /> 
      <element name="additional_attributes" type="typens:associativeArray" minOccurs="0" /> 
     </all> 
    </complexType> 

additional_attributes kann nur Zeichenfolge haben Kundenobjekt ein Objekt der Option haben müssen zu erstellen.

Wenn Sie benötigen, um Kunden Option erstellen Sie sollten Mage_Catalog_Model_Product_Api_V2 erweitern :: create Funktion

0

Sie können alle Produkte kundenspezifische Optionen auflisten, mit catalog_product_custom_option.list, die ein Array zurück.

Ich weiß nicht, seit welcher Magento-Version diese Funktion verfügbar ist, da sie nirgendwo dokumentiert ist.

Die API ist in definiert: app/code/core/Mage/Katalog/etc/api.xml

Bitte sehen my answer on "Creating Custom Options on a Product using the Magento API" für einige weitere Details über teh definiert API-Funktionen.

Verwandte Themen