Beiträge von Maaax

    Hallo Leute,

    Kennt jemand ein gutes Plugin oder eventuell eine andere möglichkeit um im WooShop die Produkte auf schnellem Wege zu updaten (Bestand & Preis) ?

    Die Daten werden als CSV & durch eine API Schnittstelle im JSON Format vom Lieferanten angeboten.

    Vielen Dank im Vorraus :)

    Ja der Timeout kommt immer noch. Das witzige ist doch, dass das Produkt vor dem Timeout erfolgreich hochgeladen wurde.
    Die restlichen leider nicht wirklich. Siehe Screenshot im Spoiler

    Spoiler anzeigen
    Code
    START UPLOAD : b771a230-cd6e-4b64-ad3b-76a29dce4e53
    <pre><code>cURL Error: Operation timed out after 15028 milliseconds with 0 bytes receive                                                                                     d</code><pre><pre><code>Automattic\WooCommerce\HttpClient\Request Object

    Ja ServerURL ist erreichbar vom Shop Webserver, sonst würden die Produktbiler nicht hochgeladen werden.

    PHP Code :

    https://pastebin.com/4Jbp3raH

    @Babelfisch

    Hab mal alle sleep() Funktionen rausgenommen und durch
    set_time_limit(0); ersetzt. Das bringt leider nichts, die Produkte werden immer noch mit dem Produktnamen 'Product' ohne die Eigenschaften.

    Wenn ich die Bilder und Produktbeschreibungen nicht importiere, werden alle Produkte ganz normal importiert. Vielleicht sollte ich das Script minimal umgescripten und diese im Nachhinein importieren ?!

    @r23 das PHP Script habe ich zufälligerweise größtenteils selbst geschrieben. Die API Zugangsdaten schicke ich dir per PN raus :)

    Um das Programm zu verstehen ist es hilfreich zu wissen was es so macht.

    Es holt Produkte aus der Datenbank vom Lieferanten, speist die Daten in meine hauseigene SQL Datenbank ein, prüft nach bestimmten Kriterien ob das Produkt überhaupt in den Shop importiert werden soll, falls ja sollen die Bilder runtergeladen & verglichen werde -> Daten aus meiner DB auslesen und Produkt bei WooCommerce importieren.

    Ausserdem läuft das Script auf einer Linux Maschine mit Ubuntu 19.04 über die PHP CLI.

    @Babelfisch

    Die Funktion set_time_limit(0); werde ich ausprobieren, hab momentan noch ein sleep(5); drinne, was eigentlich den selben Effekt haben sollte.

    [size=14][COLOR=#000000]@mensmaximus [/COLOR]

    Das Script läuft eh auf einem angemieteten VServer, denke da sollte es halb so wild sein die Funktion im PHP Code zu nutzen.
    [/SIZE]
    Hier findet ihr meinen 700 Zeilen Code :

    https://pastebin.com/12kDSzPc

    € : Der Befehl set_time_limit(0); bringt an der Stelle nach

    PHP
    $woocommerce->post('products', $data);

    leider nichts

    Hallo Community,

    beim letzten Mal wurde mir hier sehr gut weitergeholen mit der WooCommerce API Schnittstelle.
    Diesmal möchte ich die Produkte aus der API Datenbank meines Lieferanten rausholen, in meiner eigenen Datenbank abspeichern und anschließend im Shop hochladen, wenn die Kriterien erfüllt werden.

    Das Script scheint fast wie gewünscht zu funktionieren. Jedoch gibt es ein kleines Problem. Beim Hochladen der Produkte über die WooCommerce API (PHP) kommt es zu folgender Fehlermeldung in der Linux Konsole :

    Viele Produkte werden einfach nur mit dem Namen 'Product' im WooCommerce Shop angelegt ohne irgendwelche Eigenschaften, dh. Preis, Lagerbestand, Bilder, Produktbeschreibung werden nicht importiert.

    Muss ich vielleicht die Uploadgröße beim Hoster vergrößern ? Oder wie löse ich das Problem am besten ?

    Vielen Dank im Voraus :)

    Wie ein kleiner Befehl ein Rätsel auflösen kann ist echt unglaublich.

    Noch besser wäre es, wenn ich mir einfach mal den Inhalt aus der Datenbank & $data in einer .txt Datei strukturiert speichern lasse.

    So kann man relativ schnell feststellen, was zum Fehler geführt hat.

    Fast alle echo Befehle sind auskommentiert.

    Nur zwei davon sollten ausgeführt werden nach dem laden der 'WooProductIds'. In jedem Fall wird folgendes ausgegeben :

    Code
    Produktbeschreibung von 49633 erfolgreich aktualisiert

    Es gibt keine Fehlermeldungen, da das Script niemals in den "Error Block" rein geht.

    Wie könnte man ansonsten die falschen UTF-8 Kodierungen beheben ?

    Deinen Rat mit print_r($put_result) habe ich mir zu herzen genommen & mal ein Produkt rausgesucht, welches nicht aktualisiert wurde.


    Konsolenausgabe

    Spoiler anzeigen

    Tatsächlich beinhaltet das Produkt keine Produktbeschreibung im PUT Array.

    Hier ist die Produktbeschreibung aus der Datenbank.

    Spoiler anzeigen
    Code
    <img src="https://steamcdn-a.akamaihd.net/steam/apps/489370/extras/STEAM_GRAPHIC_DE.jpg?t=1541711098" >

    Die Erklärung bei dem Produkt ist natürlich, dass die '<img src=''>' Tags rausgenommen werden sollen vom Script.

    Ein weiterere mögliche Fehlerquelle könnte sein, dass ich die Produktbeschreibung mit mehreren hundert Zeichen versucht habe in die shortDescription bei Woo hochzuladen. Nun funkt es mehr oder weniger wunderbar :)

    Vielen Dank @[size=14]b3317133 [/SIZE]

    Was gibt Dein Code denn genau aus, wenn ein Eintrag scheitert?

    In der Konsole erscheint keine Fehlermeldung. Die Beschreibung wird einfach nur nicht aktualisiert bei Woo.


    Und wie genau sehen die Quelldaten aus?

    Die Daten werden direkt aus meiner Datenbank gezogen. Das Attribut dDescription (wo die Produktbeschreibungen gespeichert werden) ist vom Datentypen 'LONGTEXT'.

    Manchmal kommt sowas (manches geht, manches nicht) durch falsche UTF-8 Kodierung, wenn Sonderzeichen im Text vorkommen.

    Wenn ich die Funktion utf8_encode() mit einbaue im PHP Script führt es zum gleichen Ergebnis.


    Bei der Beispielbeschreibung fehlt übrigens ganz am Ende das > bei </ul>

    Das liegt daran, dass der Großhändler eine sehr unsaubere Datenbank hat. Die habe ich mir über eine API Schnittstelle runtergeladen.

    Guten Tag liebe Community,

    In letzter Zeit beschäftige ich mich sehr umfangreich mit Wordpress, da ich in Zukunft einen Online Shop für Gamekeys betreiben möchte. Aktuell befinden sich in meiner SQL Datenbank über 4000 Produkte. Für den deutschen Markt habe ich selbstverständlich die Datenbank ziemlich gut gefiltert. Das Ergebnis sind 1920 Produkte, die hier angeboten werden können.

    Nun stehe ich vor der Herausforderung die Produktbeschreibungen bei WooCommerce einzupflegen. Der Großhändler liefert eine relativ unsaubere Datenmenge, somit lassen sich die Produktbeschreibungen weder über eine CSV Datei noch über die API des Warenwirtschaftssystems (Billbee) importieren.

    Deshalb habe ich mich dazu entschlossen die Beschreibungen direkt über die WooCommerce PHP SDK zu importieren.
    -> Führt allerdings auch zu keinem großen Erfolg.

    Bei den meisten Produkten werden die Beschreibungen leider nicht importiert.

    PHP Code

    Spoiler anzeigen

    Hier ist eine Beispielbeschreibung die nicht importiert werden konnte.

    Spoiler anzeigen
    Code
    Ein heftiger Sturm verursacht die Zombieapokalypse und stellt dich vor eine noch die dagewesene Herausforderung. Du musst die Überlebenden durchfüttern, die langfristige Versorgung deiner Kolonie sichern und ganz nebenbei die einfallenden Zombiemassen zurücktreiben.<br><br>Es ist ein Time Management Game der etwas anderen Art. Die Fröhlichkeit eines Casualgames kollidiert mit Elementen, die sonst nur aus dem Horror-Genre bekannt sind. Erlebe den Kontrast, der beide Genres auf die Schippe nimmt!<h2>Kern Features</h2><br><ul><li>Kombiniert Elemente aus Farming, Tower Defense und Time-Management Genres<br></li><li>Bebaue deine Farm mit vielen verschiedenen Früchten, Gemüsesorten und Tieren<br></li><li>Baue, leite und verbessere dein eigenes Restaurant und koche eine Reihe von unterschiedlichen Gerichten<br></li><li>Verteidige deine Farm indem du Labyrinthe aus Zäunen erbaust und sie mit Türmen sicherst. Unsere Zombies sind die bösartigsten Vegetarier, die du je gesehen hast<br></li><li>Gestalte und kleide deinen eigenen Charakter<br></li><li>Verliere dich in einem unblutigem, fruchtigen Überlebenskampf<br></li><li>Die Story bietet 5-6 Stunden Spielspaß<br></li><li>Friedlicher Modus für entspannte Farmer<br></li><li>Originaler Soundtrack</li></ul


    Hat jemand evtl eine gewisse Ahnung oder evtl eine Vermutung weshalb das aktuallisieren der Produktbeschreibungen bei einigen Produkten scheitert ?