Weitere Informationen und den Download findest du auf der offiziellen Anlaufstelle de.wordpress.org
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21
  1. #11
    PostRank: 3
    Registriert seit
    04.11.2008
    Beiträge
    124
    ok, wie gesagt, ich habe da schon etwas gefunden mit dem ich weitrerkomme.
    Viel mehr ist aber der Composer mein Problem. Ich möchte dieses Programm nur ungerne installieren da ich damit größere Probleme erwarte.
    Bzgl. Umzug etc.
    Gibt es da keine andere Option das zu umgehen?

  2. #12
    PostRank: 10 Avatar von mensmaximus
    Registriert seit
    24.07.2014
    Ort
    Krefeld
    Beiträge
    6.410
    Auf https://woocommerce.github.io/woocom.../#introduction siehst Du in der rechten Spalte Beispiele für die aktuelle v2 in verschiedenen Programmiersprachen.

  3. #13
    r23
    r23 ist offline
    PostRank: 10
    Registriert seit
    09.12.2006
    Beiträge
    3.724
    Zitat Zitat von andi_t Beitrag anzeigen
    Gibt es da keine andere Option das zu umgehen?
    du kannst dies hier auch hier erhalten blog.r23.de/xing/api.zip es ist die aktuelle version von heute.

  4. #14
    PostRank: 3
    Registriert seit
    04.11.2008
    Beiträge
    124
    Danke, das hatte ich noch gar nicht gesehen.

    Hatte zwischenzeitlich zuviel anderes um die Ohren, sitze nun aber wieder an diesem Projekt.

    Anfangs hatte ich dann mit einem ähnlichen Plugin gearbeitet "Simple-wc-rest-client-master", habe nun aber das von Dir direkt in mein Plugin eingebaut.

    Wie ich es inzwischen schon an anderer Stelle beschrieb habe ich jetzt aber seit ein paar Wochen Probleme, dass die Variationen nicht mehr erstellt werden. Habe nun Dein Tool eingebaut und alles andere rausgeschmissen.

    Wenn ich nun Produkte erzeugen möchte:
    PHP-Code:

                    $beschreibung
    ="";
                    
    $aktuellerProduktDS=Array();
                    
    $aktuellerProduktDS['type']= $produkt['type'];
                    
    $aktuellerProduktDS['name']= $produkt['name'];
                    
    $aktuellerProduktDS['sku']= $produkt['sku'];
                    
    $aktuellerProduktDS['description']= $beschreibung;
                    
    $aktuellerProduktDS['short_description']= $produkt['short_description'];
                    
    $aktuellerProduktDS['attributes']= $produkt['attributes'];
                    
    $aktuellerProduktDS['virtual']= true;
                    
    $aktuellerProduktDS['downloadable']= true;
                    
    $aktuellerProduktDS['images'][]= array(
                                                            
    'src' => link_zum_bild,
                                                            
    'position' => 0
                                                        
    );
                    
    $wc_produkt $woocommerce->post('products'$aktuellerProduktDS ); 
    klappt das hervorragend, sobald ich dann aber die Varianten dazu erzeugen möchte
    PHP-Code:

                            $variation
    =array();
                            
    $variation['sku']= $produkt['sku'];
                            
    $variation['description']= $beschreibung;
                            
    $variation['short_description']= $produkt['short_description'];
                            
    $variation['virtual']= true;
                            
    $variation['downloadable']= true;
                            
    $variation['regular_price'] = get_option('xx_price_'.$i);
                            
    $variation['image'] = array(
                                                            
    'id' => (int) $wc_produkt['images'][0]['id']
                                                        );
                            
    $variation['attributes'][] = array(
                                                            
    'id' => (int) $akt_attribute[XX_ATTRIBUT_NAME]['id'],
                                                            
    'name' => XX_ATTRIBUT_NAME,
                                                            
    'option' => $akt_attribute[XX_ATTRIBUT_NAME]['terms'][$i]
                                                        );

                            
    $bezeichnung='products/'$wc_produkt['id'] .'/variations';                        
                            
    $wc_variation $woocommerce->post$bezeichnung$variation ); 
    gibt es einen Syntaxerror
    Code:
    Fatal error:  Uncaught  Automattic\WooCommerce\HttpClient\HttpClientException: Syntax error in  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php:346 Stack trace: #0  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php(385):  Automattic\WooCommerce\HttpClient\HttpClient->processResponse() #1  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/Client.php(56):   Automattic\WooCommerce\HttpClient\HttpClient->request('products/208/va...',  'POST', Array) #2  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/mein_plugin_functions.php(128):  Automattic\WooCommerce\Client->post('products/208/va...', Array) #3  /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_pl  in /www/htdocs/XXXXX/YYYYY/shop/wp-content/plugins/mein_plugin/vendor/automattic/woocommerce/src/WooCommerce/HttpClient/HttpClient.php on line 346
    den ich mir nicht wirklich erklären kann.
    Auch wenn ich die Varianten mittels der Angaben aus der Dokumentation
    PHP-Code:
    $data = [
        
    'regular_price' => '9.00',
        
    'image' => [
            
    'id' => 423
        
    ],
        
    'attributes' => [
            [
                
    'id' => 9,
                
    'option' => 'Black'
            
    ]
        ]
    ]; 
    anlegen möchte, klappt es nicht. Die Fehlermeldung bleibt bestehen.

    Gibt es da evtl. eine gute Idee, wie ich da am Besten nach dem Fehler suchen kann?
    Ich bin momentan mit meinem Latein am Ende...

    LG Andi

  5. #15
    PostRank: 10 Avatar von mensmaximus
    Registriert seit
    24.07.2014
    Ort
    Krefeld
    Beiträge
    6.410
    Mit den Codes kann man natürlich nichts anfangen, weil man nicht weiß welche Werte sich in $product befinden. Und man weiß nicht wie Dein API Aufruf aussieht. Ganz spontan würde ich aber einmal darauf tippen, dass das Produkt mit Type 'simple' anstatt 'variable' erstellt wurde.

  6. #16
    PostRank: 3
    Registriert seit
    04.11.2008
    Beiträge
    124
    *oops*, die liefere ich doch sofort nach:
    hier der API-Aufruf:
    PHP-Code:
    $api_version="wc/v2";
    global 
    $a_woocommerce;
    require 
    __DIR__'/vendor/autoload.php';
    use 
    Automattic\WooCommerce\Client;
    use 
    Automattic\WooCommerce\HttpClient\HttpClientException;        
    $a_woocommerce = new Client($shop$schluessel$geheimnis, ['wp_api' => true'version' => $api_version]); 
    und hier der Rest zusammen:
    PHP-Code:
    produkt=Array (
        [
    _produkt_id] => 10
        
    [type] => variable
        
    [name] => Corydoras sp. (CW 108)
        [
    sku] => 0
        
    [Stichworte] => CW108Corydoras sp. (CW 108), Fotobecken
        
    [short_description] => Corydoras sp. (CW 108im Fotobecken
        
    [Breite] => 4601
        
    [Hoehe] => 3067
        
    [Kamera] => Canon EOS 5D Mark III
        
    [Objektiv] => EF100mm f/2.8L Macro IS USM
        
    [GPSLatitude] => N 52° 33′ 26″
        
    [GPSLongitude] => E 9° 41′ 17″
        
    [Land] => Deutschland
        
    [Bundesstaat] => Niedersachsen
        
    [Stadt] => Stadtname
        
    [Belichtungsdauer] => 1/200
        
    [ISO] => 400
        
    [Brennweite] => 100
        
    [Dateiname] => corydoras-sp-cw-108__mg_9325.jpg
        
    [attributes] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 4
                        
    [name] => Groesse
                        
    [position] => 0
                        
    [visible] => 
                        [
    variation] => 1
                        
    [options] => Array
                            (
                                [
    0] => Web (klein)
                                [
    1] => Web (groß)
                                [
    2] => Print (klein)
                                [
    3] => Print (mittel)
                                [
    4] => Print (groß)
                                [
    5] => volle Auflösung
                            
    )
                    )
            )
    )

                    
    $beschreibung="";
                    
    $aktuellerProduktDS=Array();
                    
    $aktuellerProduktDS['type']= $produkt['type'];
                    
    $aktuellerProduktDS['name']= $produkt['name'];
                    
    $aktuellerProduktDS['sku']= $produkt['sku'];
                    
    $aktuellerProduktDS['description']= $beschreibung;
                    
    $aktuellerProduktDS['short_description']= $produkt['short_description'];
                    
    $aktuellerProduktDS['attributes']= $produkt['attributes'];
                    
    $aktuellerProduktDS['virtual']= true;
                    
    $aktuellerProduktDS['downloadable']= true;
                    
    $aktuellerProduktDS['images'][]= array(
                                                            
    'src' => link_zum_bild,
                                                            
    'position' => 0
                                                        
    );

                    
    $wc_produkt $a_woocommerce->post('products'$aktuellerProduktDS );  


    wc_produkt=Array
    (
        [
    id] => 212
        
    [name] => Corydoras sp. (CW 108
        [
    slug] => corydoras-sp-cw-108
        
    [permalink] => http://www.meinshop.de/produkt/corydoras-sp-cw-108/
        
    [date_created] => 2017-07-08T19:36:15
        
    [date_created_gmt] => 2017-07-08T17:36:15
        
    [date_modified] => 2017-07-08T19:36:15
        
    [date_modified_gmt] => 2017-07-08T17:36:15
        
    [type] => variable
        
    [status] => publish
        
    [featured] => 
        [
    catalog_visibility] => visible
        
    [description] => 
        [
    short_description] => Corydoras sp. (CW 108im Fotobecken
        
    [sku] => 0
        
    [price] => 
        [
    regular_price] => 
        [
    sale_price] => 
        [
    date_on_sale_from] => 
        [
    date_on_sale_from_gmt] => 
        [
    date_on_sale_to] => 
        [
    date_on_sale_to_gmt] => 
        [
    price_html] => 
        [
    on_sale] => 
        [
    purchasable] => 
        [
    total_sales] => 0
        
    [virtual] => 
        [
    downloadable] => 
        [
    downloads] => Array
            (
            )
        [
    download_limit] => -1
        
    [download_expiry] => -1
        
    [external_url] => 
        [
    button_text] => 
        [
    tax_status] => taxable
        
    [tax_class] => 
        [
    manage_stock] => 
        [
    stock_quantity] => 
        [
    in_stock] => 
        [
    backorders] => no
        
    [backorders_allowed] => 
        [
    backordered] => 
        [
    sold_individually] => 
        [
    weight] => 
        [
    dimensions] => Array
            (
                [
    length] => 
                [
    width] => 
                [
    height] => 
            )
        [
    shipping_required] => 1
        
    [shipping_taxable] => 1
        
    [shipping_class] => 
        [
    shipping_class_id] => 0
        
    [reviews_allowed] => 1
        
    [average_rating] => 0.00
        
    [rating_count] => 0
        
    [related_ids] => Array
            (
            )
        [
    upsell_ids] => Array
            (
            )
        [
    cross_sell_ids] => Array
            (
            )
        [
    parent_id] => 0
        
    [purchase_note] => 
        [
    categories] => Array
            (
            )
        [
    tags] => Array
            (
            )
        [
    images] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 210
                        
    [date_created] => 2017-07-08T21:36:15
                        
    [date_created_gmt] => 2017-07-08T17:36:15
                        
    [date_modified] => 2017-07-08T21:36:15
                        
    [date_modified_gmt] => 2017-07-08T17:36:15
                        
    [src] => http://www.meinshop.de/wp-content/uploads/2017/07/corydoras-sp-cw-108__mg_9325.jpg
                        
    [name] => 
                        [
    alt] => 
                        [
    position] => 0
                    
    )
            )
        [
    attributes] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 4
                        
    [name] => Groesse
                        
    [position] => 0
                        
    [visible] => 
                        [
    variation] => 1
                        
    [options] => Array
                            (
                                [
    0] => Print (groß)
                                [
    1] => volle Auflösung
                                
    [2] => Web (groß)
                                [
    3] => Print (klein)
                                [
    4] => Print (mittel)
                                [
    5] => Web (klein)
                            )
                    )
            )
        [
    default_attributes] => Array()
        [
    variations] =>Array()
        [
    grouped_products] => Array()
        [
    menu_order] => 0
        
    [meta_data] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 3301
                        
    [key] => _unit_price_regular
                        
    [value] => 
                    )
                [
    1] => Array
                    (
                        [
    id] => 3302
                        
    [key] => _unit_price_sale
                        
    [value] => 
                    )
                [
    2] => Array
                    (
                        [
    id] => 3303
                        
    [key] => _unit_price
                        
    [value] => 
                    )
                [
    3] => Array
                    (
                        [
    id] => 3304
                        
    [key] => _unit_price_auto
                        
    [value] => 
                    )
                [
    4] => Array
                    (
                        [
    id] => 3305
                        
    [key] => _delete_product_delivery_time
                        
    [value] => 1
                    
    )
                [
    5] => Array
                    (
                        [
    id] => 3306
                        
    [key] => _free_shipping
                        
    [value] => 
                    )
                [
    6] => Array
                    (
                        [
    id] => 3307
                        
    [key] => _service
                        
    [value] => 
                    )
                [
    7] => Array
                    (
                        [
    id] => 3308
                        
    [key] => _mini_desc
                        
    [value] => 
                    )
            )
        [
    translations] => Array()
        [
    lang] => de
        
    [unit] => Array()
        [
    unit_price] => Array
            (
                [
    base] => 
                [
    product] => 
                [
    price_auto] => 
                [
    price] => 
                [
    price_regular] => 
                [
    price_sale] => 
                [
    price_html] => 
            )
        [
    mini_desc] => 
        [
    sale_price_label] => Array()
        [
    sale_price_regular_label] => Array()
        [
    delivery_time] => Array()
        [
    free_shipping] => 
        [
    _links] => Array
            (
                [
    self] => Array
                    (
                        [
    0] => Array
                            (
                                [
    href] => http://www.meinshop.de/wp-json/wc/v2/products/212
                            
    )
                    )
                [
    collection] => Array
                    (
                        [
    0] => Array
                            (
                                [
    href] => http://www.meinshop.de/wp-json/wc/v2/products
                            
    )
                    )
            )

    wie gesagt, bis hier hin ist alles schön, die Produkte erscheinen genauso wie ich es möchte im Backend, auch die Produkteigenschaften sind im Backend da, und stehen auch auf "Für Varianten verwendet": ja.

    Sobald ich dann folgendes aufrufe
    PHP-Code:
                            $variation=array();
                            
    $variation['sku']= $produkt['sku'];
                            
    $variation['description']= $beschreibung;
                            
    $variation['short_description']= $produkt['short_description'];
                            
    $variation['virtual']= true;
                            
    $variation['downloadable']= true;
                            
    $variation['regular_price'] = get_option('xx_price_'.$i);
                            
    $variation['image'] = array(
                                                            
    'id' => (int) $wc_produkt['images'][0]['id']
                                                        );
                            
    $variation['attributes'][] = array(
                                                            
    'id' => (int) $akt_attribute[XX_ATTRIBUT_NAME]['id'],
                                                            
    'name' => XX_ATTRIBUT_NAME,
                                                            
    'option' => $akt_attribute[XX_ATTRIBUT_NAME]['terms'][$i]
                                                        );

                            
    $bezeichnung='products/'$wc_produkt['id'] .'/variations';                        
                            
    $wc_variation $a_woocommerce->post$bezeichnung$variation ); 
    kommt wieder die obige Fehlermeldung.

  7. #17
    PostRank: 3
    Registriert seit
    04.11.2008
    Beiträge
    124
    OK, dann versuche ich es mal detaillierter anzugeben:
    Der Api-Aufruf:
    PHP-Code:
    $shop="xxxx";
    $schluessel="xxxx";
    $geheimnis="xxxx";
    $api_version="wc/v2";
    global 
    $a_woocommerce;
    require 
    __DIR__'/vendor/autoload.php';
    use 
    Automattic\WooCommerce\Client;
    use 
    Automattic\WooCommerce\HttpClient\HttpClientException;        
    $a_woocommerce = new Client($shop$schluessel$geheimnis, ['wp_api' => true'version' => $api_version]); 


    Die Produkterstellung:
    PHP-Code:
    $produkt=Array (
        [
    _produkt_id] => 10
        
    [type] => variable
        
    [name] => Corydoras sp. (CW 108)
        [
    sku] => 0
        
    [Stichworte] => CW108Corydoras sp. (CW 108), Fotobecken
        
    [short_description] => Corydoras sp. (CW 108im Fotobecken
        
    [Breite] => 4601
        
    [Hoehe] => 3067
        
    [Kamera] => Canon EOS 5D Mark III
        
    [Objektiv] => EF100mm f/2.8L Macro IS USM
        
    [Belichtungsdauer] => 1/200
        
    [ISO] => 400
        
    [Brennweite] => 100
        
    [Dateiname] => corydoras-sp-cw-108__mg_9325.jpg
        
    [attributes] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 4
                        
    [name] => Groesse
                        
    [position] => 0
                        
    [visible] => 
                        [
    variation] => 1
                        
    [options] => Array
                            (
                                [
    0] => Web (klein)
                                [
    1] => Web (groß)
                                [
    2] => Print (klein)
                                [
    3] => Print (mittel)
                                [
    4] => Print (groß)
                                [
    5] => volle Auflösung
                            
    )
                    )
            )

    PHP-Code:
                    $beschreibung="";
                    
    $aktuellerProduktDS=Array();
                    
    $aktuellerProduktDS['type']= $produkt['type'];
                    
    $aktuellerProduktDS['name']= $produkt['name'];
                    
    $aktuellerProduktDS['sku']= $produkt['sku'];
                    
    $aktuellerProduktDS['description']= $beschreibung;
                    
    $aktuellerProduktDS['short_description']= $produkt['short_description'];
                    
    $aktuellerProduktDS['attributes']= $produkt['attributes'];
                    
    $aktuellerProduktDS['virtual']= true;
                    
    $aktuellerProduktDS['downloadable']= true;
                    
    $aktuellerProduktDS['images'][]= array(
                                                            
    'src' => link_zum_bild,
                                                            
    'position' => 0
                                                        
    );
                    
    $wc_produkt $a_woocommerce->post('products'$aktuellerProduktDS ); 
    klappt hervorragend, und das System gibt mir folgende Werte zurück:
    PHP-Code:
    $wc_produkt=Array (
        [
    id] => 212
        
    [name] => Corydoras sp. (CW 108)
        [
    slug] => corydoras-sp-cw-108-3
        
    [permalink] => http://meinshop.de/produkt/corydoras-sp-cw-108-3/
        
    [date_created] => 2017-07-08T19:36:15
        
    [date_created_gmt] => 2017-07-08T17:36:15
        
    [date_modified] => 2017-07-08T19:36:15
        
    [date_modified_gmt] => 2017-07-08T17:36:15
        
    [type] => variable
        
    [status] => publish
        
    [featured] => 
        [
    catalog_visibility] => visible
        
    [description] => 
        [
    short_description] => Corydoras sp. (CW 108im Fotobecken


        
    [sku] => 0
        
    [price] => 
        [
    regular_price] => 
        [
    sale_price] => 
        [
    date_on_sale_from] => 
        [
    date_on_sale_from_gmt] => 
        [
    date_on_sale_to] => 
        [
    date_on_sale_to_gmt] => 
        [
    price_html] => 
        [
    on_sale] => 
        [
    purchasable] => 
        [
    total_sales] => 0
        
    [virtual] => 
        [
    downloadable] => 
        [
    downloads] => Array
            (
            )

        [
    download_limit] => -1
        
    [download_expiry] => -1
        
    [external_url] => 
        [
    button_text] => 
        [
    tax_status] => taxable
        
    [tax_class] => 
        [
    manage_stock] => 
        [
    stock_quantity] => 
        [
    in_stock] => 
        [
    backorders] => no
        
    [backorders_allowed] => 
        [
    backordered] => 
        [
    sold_individually] => 
        [
    weight] => 
        [
    dimensions] => Array
            (
                [
    length] => 
                [
    width] => 
                [
    height] => 
            )
        [
    shipping_required] => 1
        
    [shipping_taxable] => 1
        
    [shipping_class] => 
        [
    shipping_class_id] => 0
        
    [reviews_allowed] => 1
        
    [average_rating] => 0.00
        
    [rating_count] => 0
        
    [related_ids] => Array()
        [
    upsell_ids] => Array()
        [
    cross_sell_ids]=> Array()
        [
    parent_id] => 0
        
    [purchase_note] => 
        [
    categories] => Array()
        [
    tags] => Array()
        [
    images] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 210
                        
    [date_created] => 2017-07-08T21:36:15
                        
    [date_created_gmt] => 2017-07-08T17:36:15
                        
    [date_modified] => 2017-07-08T21:36:15
                        
    [date_modified_gmt] => 2017-07-08T17:36:15
                        
    [src] => http://meinshop.de/wp-content/uploads/2017/07/corydoras-sp-cw-108__mg_9325-2.jpg
                        
    [name] => 
                        [
    alt] => 
                        [
    position] => 0
                    
    )
            )
        [
    attributes] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 4
                        
    [name] => Groesse
                        
    [position] => 0
                        
    [visible] => 
                        [
    variation] => 1
                        
    [options] => Array
                            (
                                [
    0] => Print (groß)
                                [
    1] => volle Auflösung
                                
    [2] => Web (groß)
                                [
    3] => Print (klein)
                                [
    4] => Print (mittel)
                                [
    5] => Web (klein)
                            )
                    )
            )
        [
    default_attributes] => Array()
        [
    variations] => Array()
        [
    grouped_products] => Array()
        [
    menu_order] => 0
        
    [meta_data] => Array
            (
                [
    0] => Array
                    (
                        [
    id] => 3301
                        
    [key] => _unit_price_regular
                        
    [value] => 
                    )
                [
    1] => Array
                    (
                        [
    id] => 3302
                        
    [key] => _unit_price_sale
                        
    [value] => 
                    )
                [
    2] => Array
                    (
                        [
    id] => 3303
                        
    [key] => _unit_price
                        
    [value] => 
                    )
                [
    3] => Array
                    (
                        [
    id] => 3304
                        
    [key] => _unit_price_auto
                        
    [value] => 
                    )
                [
    4] => Array
                    (
                        [
    id] => 3305
                        
    [key] => _delete_product_delivery_time
                        
    [value] => 1
                    
    )
                [
    5] => Array
                    (
                        [
    id] => 3306
                        
    [key] => _free_shipping
                        
    [value] => 
                    )
                [
    6] => Array
                    (
                        [
    id] => 3307
                        
    [key] => _service
                        
    [value] => 
                    )
                [
    7] => Array
                    (
                        [
    id] => 3308
                        
    [key] => _mini_desc
                        
    [value] => 
                    )
            )
        [
    translations] => Array()
        [
    lang] => de
        
    [unit] => Array()
        [
    unit_price] => Array
            (
                [
    base] => 
                [
    product] => 
                [
    price_auto] => 
                [
    price] => 
                [
    price_regular] => 
                [
    price_sale] => 
                [
    price_html] => 
            )
        [
    mini_desc] => 
        [
    sale_price_label] => Array()
        [
    sale_price_regular_label] => Array()
        [
    delivery_time] => Array()
        [
    free_shipping] => 
        [
    _links] => Array
            (
                [
    self] => Array
                    (
                        [
    0] => Array
                            (
                                [
    href] => http://meinshop.de/wp-json/wc/v2/products/212
                            
    )
                    )
                [
    collection] => Array
                    (
                        [
    0] => Array
                            (
                                [
    href] => http://meinshop.de/wp-json/wc/v2/products
                            
    )
                    )
            )

    Sobald ich dann aber die Varianten dazu erzeugen möchte
    PHP-Code:

                            $variation
    =array();
                            
    $variation['sku']= $produkt['sku'];
                            
    $variation['description']= $beschreibung;
                            
    $variation['short_description']= $produkt['short_description'];
                            
    $variation['virtual']= true;
                            
    $variation['downloadable']= true;
                            
    $variation['regular_price'] = get_option('xx_price_'.$i);
                            
    $variation['image'] = array(
                                                            
    'id' => (int) $wc_produkt['images'][0]['id']
                                                        );
                            
    $variation['attributes'][] = array(
                                                            
    'id' => (int) $akt_attribute[XX_ATTRIBUT_NAME]['id'],
                                                            
    'name' => XX_ATTRIBUT_NAME,
                                                            
    'option' => $akt_attribute[XX_ATTRIBUT_NAME]['terms'][$i]
                                                        );

                            
    $bezeichnung='products/'$wc_produkt['id'] .'/variations';                        
                            
    $wc_variation $a_woocommerce->post$bezeichnung$variation ); 
    gibt es den oben erwähnten Syntaxerror, den ich mir nicht wirklich erklären kann.

    Ich hoffe es ist mit diesen zusätzlichen Angaben verständlicher.

    LG Andi

  8. #18
    PostRank: 10 Avatar von mensmaximus
    Registriert seit
    24.07.2014
    Ort
    Krefeld
    Beiträge
    6.410
    Das einzige was ich aktuell als eventuelles Problem sehe ist

    $variation['attributes'][] = array(
    'id' => (int) $akt_attribute[XX_ATTRIBUT_NAME]['id'],
    'name' => XX_ATTRIBUT_NAME,
    'option' => $akt_attribute[XX_ATTRIBUT_NAME]['terms'][$i]
    );

    Beim Erstellen der Variante wird nur id und option verwendet. Beides muss bereits existieren ansonsten muss das Produkt Attribute vorher erstellt werden.

  9. #19
    PostRank: 3
    Registriert seit
    04.11.2008
    Beiträge
    124
    Zitat Zitat von mensmaximus Beitrag anzeigen
    Beim Erstellen der Variante wird nur id und option verwendet. Beides muss bereits existieren ansonsten muss das Produkt Attribute vorher erstellt werden.
    ne, habe eben nochmal den "name" gegelassen und es kommt immer noch der Fehler.
    Die Attribute werden ja schon vorher erzeugt:
    mittels
    PHP-Code:
            $akt_attribute=add_attribute();// Attribute zu Woocommerce hinzufuegen 
    und
    PHP-Code:
    function add_attribute()
        {
            global 
    $a_woocommerce;
            global 
    $wpdb;
                
            
    $tabelle $wpdb->prefix."woocommerce_attribute_taxonomies";    
            
    $sql "SELECT attribute_id FROM ".$tabelle." WHERE attribute_label='".XX_ATTRIBUT_NAME."'";    
            
    $attributeID=$wpdb->get_var($sql);
            
    $tmp_terms=$a_woocommerce->get('products/attributes/'.$attributeID.'/terms');        
            
    $tmp_attribute=get_attribute();
            
            foreach (
    $tmp_attribute as $produkt_attribut_name => $produkt_attribut )
                {
                    
    $attribut_daten = array('name' => $produkt_attribut_name,'slug' => 'pa_' strtolower$produkt_attribut_name ),'type' => 'select','order_by' => 'menu_order','has_archives' => true);
                    if (
    is_null($attributeID))
                        {
                            
    $wc_attribut $a_woocommerce->post'products/attributes'$attribut_daten );        
                            
    $attributeID $wc_attribut['id'];
                        }
                        
                    
    $hinzugefuegte_attribute[$produkt_attribut_name]['id'] = $attributeID// AttributID fuer die Erzeugung der Produkte und Variationen
                    
    foreach ( $produkt_attribut['terms'] as $term )
                        {
                            
    $attribut_term_daten = array('name' => $term);
                            
    $neuerTerm=true;
                            foreach (
    $tmp_terms as $tmp_term)
                                {    
                                    if (
    $tmp_term['name']==$term)
                                        {
                                            
    $neuerTerm=false;
                                            break;
                                        }
                                }
                            if (
    $neuerTerm==true)
                                
    $wc_attribut_term $a_woocommerce->post'products/attributes/'$attributeID .'/terms'$attribut_term_daten );
                            
                            
    $hinzugefuegte_attribute[$produkt_attribut_name]['terms'][] = $term// AttributTerms fuer die Erzeugung der Produkte und Variationen
                        
    }
                }
            return 
    $hinzugefuegte_attribute;
        } 
    und
    PHP-Code:
    function get_attribute() 
        {
            
    $produkt_attribute = array();
            
    $anzahl_varianten=6;
            for (
    $i=0;$i<$anzahl_varianten;$i++)
                {
                    
    $produkt_attribute[XX_ATTRIBUT_NAME]['terms'][] = get_option('xx_name_'.$i);
                }            
            return 
    $produkt_attribute;
        } 
    ich finde einfach keinen Grund warum das nicht läuft

    LG Andi

  10. #20
    r23
    r23 ist offline
    PostRank: 10
    Registriert seit
    09.12.2006
    Beiträge
    3.724
    Zitat Zitat von andi_t Beitrag anzeigen

    ich finde einfach keinen Grund warum das nicht läuft

    LG Andi
    du kannst dir einfach ansehen, was du zurück bekommst.

    https://github.com/woocommerce/wc-ap...HttpClient.php

    Zeile 373
    PHP-Code:
            if (=== strpos(bin2hex($body), 'efbbbf')) {
               
    $body substr($body3);
            }
            
    $parsedResponse = \json_decode($bodytrue);
            
    // Test if return a valid JSON.
            
    if (JSON_ERROR_NONE !== json_last_error()) {
                
    $message function_exists('json_last_error_msg') ? json_last_error_msg() : 'Invalid JSON returned';
                throw new 
    HttpClientException($message$this->response->getCode(), $this->request$this->response);
            }
            
    $this->lookForErrors($parsedResponse); 
    hier einfach

    [php]
    <?php
    $data = [
    'regular_price' => '9.00',
    'image' => [
    'id' => 423
    ],
    'attributes' => [
    [
    'id' => 9,
    'option' => 'Black'
    ]
    ]
    ];

    print_r($woocommerce->post('products/22/variations', $data));
    ?>

    mit deinen Daten probieren.

    Anleitung
    http://woocommerce.github.io/woocommerce-rest-api-docs/?php#create-a-product-variation


    Wenn du PHP 7.08 verwendest - kannst du ein PHP Bug haben - Zitat aus der Changelog von PHP
    http://php.net/ChangeLog-7.php

    Fixed bug #72275 (Integer Overflow in json_encode()/json_decode()/ json_utf8_to_utf16()).

    https://bugs.php.net/bug.php?id=72275


    Viel Glück

    ralf

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •