Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Preisupdate per CSV wird nicht übernommen

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #30 am: 17. Februar 2016, 09:53:20
    Also, ich mache das so:
    Ichg erstelle meine Listen in Excel. Darus baue ich eine CSV, die aber grundsätzlich in OpenOffice. Bei mir steht auch kein Datum, genau darum nebutze ich ja OO, weil nur Excel mir da immer ein Datum hinzimmert. Ich habe das jetzt nochmal neu in OO abgespecihert, Bonsai. Ist das nun korrekt angekommen?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #31 am: 17. Februar 2016, 10:51:51
    Aha .... es hatte einen Grund warum ich die Datei GENAU SO wollte wie Du sie verwendest.

    In der products_description:

    Zitat
    Daher sind sie auch für den Rennsport bestens geeignet.<br>,Exklusive Bremsen

    Also landet das nach dem <br /> im nächsten Feld ..... Weil das Komma ankündigt, jetzt kommt das nächste Feld.

    Beim Speichern das einstellen (Zeichensatz anpassen auf Deinen Shop)
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Und im Backend beim Import auch diese Zeichen einstellen.

    Dann den Import fahren ...

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #32 am: 17. Februar 2016, 12:22:05
    Ich kann das jetzt nicht testen. Aber verstehen tu ich gar nichts, ehrlich gesagt.
    Es ist ja so: Der Import hat ja mit exakt dieser Liste bisher immer funktioniert! Ich habe nur einen Preis verändert in der ersten Zeile,sonst gar nichts. Und das , Exklusive Bremsen" hat da gar nichts zu suchen. Das gehört nicht in die products_description und ist da ja auch nicht gelandet, wenn Du Dir das mal im Shop anschaust:

    http://www.brake-point.de/STAHLFLEX-SCHLAeUCHE/FISCHER-HYDRAULIK/ALFA-ROMEO/33/33-Sportwagon-905A/1-5/FISCHER-Stahlflex-Bremsschlaeuche-ALFA-ROMEO-33-Sportwagon-905A-1-5::105829.html

    Ein anderer Preis - also einfach andere Ziffern - können doch nicht so einen Fehler hervorrufen.
    Und wie gesagt: Importiere ich über "action" insert, improtiert er den Artikel mit dem richtigen Preis. Aber er ändert nicht den bestehen, sondern fügt den neu hinzu, dass ich zwei habe. Einmalde mit dem alten Preis und einmal die mit dem neuen Preis.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #33 am: 17. Februar 2016, 12:27:10
    Hey Toby,

    lern endlich VOLLSTÄNDIG zu schreiben was Du gemacht hast, nur so kann man Dir auch helfen.

    Ich habe nur einen Preis verändert in der ersten Zeile,sonst gar nichts.

    Hast Du auch als Dezimal-Trennzeichen einen Punkt statt einem Komma benutzt?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #34 am: 17. Februar 2016, 13:07:10
    Es hat jetzt zwei oder drei Tage gebraucht um EINE ZEILE von Dir zu bekommen .... so was macht keinen Spaß

    Wenn das bei Dir bisher funktioniert hat mit dem Format

    wert,wert,wert

    war das pures Glück! Es braucht nur einmal irgendein Hersteller in irgendein Feld , zu packen und der Import geht kolossal schief.

    insert bedeutet INSERT (SQL), also Füge NEUE Zeile in Tabelle ein
    update bedeutet UPDATE (SQL), also ÜBERSCHREIBE Zeile in Tabelle. Beim UPDATE muss immer angegeben werden welche Zeile (SQL WHERE spalte=wert)
    Die import Routine verwendet hier products_model
    Wenn in products_model Zeichen drin sind wie z.B. -, dann muss man aufpassen WELCHES -
    Es gibt z.B. das Problem: http://typefacts.com/artikel/grundlagen/bindestrich-gedankenstrich

    Wenn der Hersteller seine Daten z.B. aus Word Kopiert, dann hast Du eine ca. 50%ige Chance auf Minus und eine 50%ige Chance auf Gedankenstrich.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #35 am: 17. Februar 2016, 13:18:51
    Es hat jetzt zwei oder drei Tage gebraucht um EINE ZEILE von Dir zu bekommen .... so was macht keinen Spaß
    Du hast aberdoch schon so viele Vorschläge gemacht und noch wissen wir ja gar nicht ob ich recht hatte. Ist ja nicht das ersta Mal, dass unser Toby mit dem Import Probleme hat.

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #36 am: 18. Februar 2016, 12:22:16
    Ich trau mich ja nach der "Schimpfe" kaum noch zu antworten. Ich tu es trotzdem.  :-)

    @webald

    Ich hbae doch im Ausgangspost exakt und vollständig beschriebn, wasi ch gemacht habe.

    Zitat
    Ich möchte mittel "Erweiterter Import" nur die Preis ändern.
    Ich habe das testweise mit einem Artikel so versucht:

    In der CSV im Feld "action" den betreffenden Artikel "update" eingetragen, bei alle anderen "ignore".
    In den Import-Einstellungen bei "Standardaktion" "insert" gelassen.

    Also nur einen Preis testweise geändert. Welche Info fehlte Dir?

    @Bonsai

    Ja, tut mir leid, dass das ab un dzu lange dauert, aber ich habe manchmal soviel zu tun.
    Leider verstehe ich Deinen Post auch nicht. Ich finde weder die Einstellungen zum speichern (von der CSV?), noch, was das bringen soll. Ich habe immer ; und " als Feld- bzw. Textrenner und peinlichst daruf geachtet, dass sich in den Texten kein Semikolon befindet. Ist ja auch alles gut. Und: Was hätte das mit einer Änderung im Preisfeld zu tun?

    Zitat
    update bedeutet UPDATE (SQL), also ÜBERSCHREIBE Zeile in Tabelle. Beim UPDATE muss immer angegeben werden welche Zeile (SQL WHERE spalte=wert)
    Die import Routine verwendet hier products_model

    Das verstehe ich nicht. Ich habe in meiner CSV ja nur die Spalte "action". Fehlen mir da noch andere Felder?

    In der Anleitung zum erweiteretn Import steht aber folgendes:

    Zitat
    ignore - Artikel ignorieren
    insert - Artikel einfügen, wenn bereits vorhanden, wird aktualisiert
    update - Artikel aktualisieren
    delete - Artikel löschen

    Also bei insert nicht nur neue Zeile einfügen, sondern, wenn vorhanden, aktualisieren. Daher ja meine Irritation, was den Unterschied zu update betrifft.

    Und in der Anelitung sind auch nur Angaben darüber gemacht, was in der CSV unter "action" einzutragen ist.

    Welche Einstellungen im Backend gewählt werden soll - wann ignore und wann insert - in welcher Kombination mit welchem Wert in der CSV bei "action" - steht leider nirgendwo.

    Oder bin ich einfach zu blöd, um irgendwas zu checken?

    Thx. für Eure Geduld, Jungs.

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #37 am: 18. Februar 2016, 12:52:57
    also ich habe mir jetzt mal die fischer-neu.zip angesehen.

    Ich bin der Meinung, dass die so nicht funktioniert.
    - Feld-Trennzeichen ist Komma
    - Texttrenzichen scheint es nicht zu geben

    Wenn ich mal versuche die Feldinhalte den Feldern zuzuordnen klappt das etwa bis p_name.de, dann kommen plötzlich Anführungszeichen und darin enthalten Kommas.

    Weiterhin bin ich mir nicht sicher ob beim Import HTML-geprüft wird. Falls ja, dann könnte auch <BR> einen Fehler verursachen. Korrekt müßte es eigentlich <br /> lauten.

    Ich trau mich ja nach der "Schimpfe" kaum noch zu antworten. Ich tu es trotzdem.  :-)

    @webald

    Ich hbae doch im Ausgangspost exakt und vollständig beschriebn, wasi ch gemacht habe.

    Also nur einen Preis testweise geändert. Welche Info fehlte Dir?
    Ich hatte das so verstanden, dass Du den Preis manuell in der csv geändert hast.

    Du schreibst ja weiter oben selber, dass wohl in der letzten CSV Datenstehen, die da nicht hingehören. Aber bonsai hat recht, wenn er sagt, dass ohe echte CSV keiner den Fehler sehen kann.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #38 am: 18. Februar 2016, 12:59:35
    Zitat
    insert - Artikel einfügen, wenn bereits vorhanden, wird aktualisiert
    update - Artikel aktualisieren

    Es geht darum, dass der Import die Werte aus der CSV per SQL in die DB einfügt.

    Der SQL Query ist dann (verkürzt) so:

    Code: SQL  [Auswählen]
    UPDATE products SET price='154.90' WHERE products_model='FIS-AR 108-6.1'

    Das mit den Trennzeichen ist hier sehr gut erklärt:
    https://www.modified-shop.org/download#handbuch (Kapitel 6)

    Du lieferst hier eine Datei die Kommagetrennt ist, hast im Backend aber Semikolon drin .....

    Beim Zerlegen der CSV Datei baut das Script in dem Falle genau ein Feld .... weil das Zweite Feld dann anfangen würde wenn das erste Semikolon kommt.

    Lies mal bitte das: (Zweiter Absatz)
    http://www.sitepackage.de/service/dokumentation/24-speichern-von-csv-daten-in-openoffice-calc.html
    Dann kannst du die Zeichen wählen.

    Nochmal: EGAL OB ES BISHER FUNKTIONIERT HAT, Komma oder Semikolon ist Mist beim Import, weil Produkttexte dann die Felder verrutschen lassen könnten. Damit passen alle Nachfolgenden Felder nicht mehr auf die Überschrift des Feldes. Da ist übrigens das dabei: p_cat.0 . Die Kategorien braucht der Import um das Produkt auch zuordnen zu können .... (Siehe Handbuch)

    Also das:
    Code: SQL  [Auswählen]
    UPDATE products SET price='154.90' WHERE products_model='FIS-AR 108-6.1'
    ist nicht komplett ... es wird vorher noch abgefragt ob die Kategorie passt. Die kann aber nicht passen, wenn z.B. im meta_keywords Feld 3 Kommas vorkommen und deshalb jedes einzelne meta keyword als einzelnes Feld behandelt wird und somit die Kategoriefelder um 3 Spalten verrutschen.

    Da spawnen dann Kategorien .... wenn insert verwendet wird. Und es gibt einen neuen Artikel, weil der in der neuen Kategorie ja gar nicht da ist. Wenn update verwendet wird, passiert genau GAR NICHTS, weil der Artikel NICHT vorhanden ist, also nicht in dieser Kategorie.

    Nimm bitte ein Trennzeichen das NIEMALS in einem Beschreibungstext vorkommen kann! ^ Funktioniert bei Mir wunderbar .... und im Buchhandel sind Beschreibungstexte oft sehr kreativ und voll von ungewöhnlichen Zeichen. Aber ^ war noch nie dabei.

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #39 am: 18. Februar 2016, 17:25:45
    Danke für die Links.
    Habe jetzt die CSV so abgespeichert, wie Du oben vorgegeben hast und die Einstellungen im Admin auch dahingehend geändert. Unter "Standaraktion" ist "ignore eingestellt, im Feld "action" in der CSVB steht "update".

    Beim Improt bekome ich nun folgende Fehlermeldungen (betriift alle Zeilen):

    ERROR: wrong action (""), line: 1 dataset: XTSOL^update^FIS-AR 108-6.1^1^0^1^product_info_v1.html^FISCHER HYDRAULIK^0^154.90^^^^^1^1^0^^^product_options_selection.html^1^1^6^^^^^^fischer-1-logo.jpg^^^^^^^^^FISCHER Stahlflex-BremsschlÀuche ALFA ROMEO 33 Sportwagon (905A) 1.5^Einbauort: Vorder- und Hinterachse

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #40 am: 18. Februar 2016, 18:13:48
    Zitat
    BremsschlÀuche

    Der Zeichensatz der CSV Datei passt auch zu Deinem Zeichensatz der Datenbank? /includes/configure.php Der Wert DB_SERVER_CHARSET

    Dein Shop läuft auf dem gleichen Zeichensatz?
    (Quelltext Startseite <meta charset="???">)

    Wrong action "" bedeutet für mich, in das Feld muss was rein.

    Du schreibst "betrifft alle Zeilen"

    zum testen würde ich eine CSV generieren, die nur 2 Zeilen hat: Kopfzeile mit den Feldnamen und die eine die wir updaten wollen.

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #41 am: 18. Februar 2016, 18:59:39
    In der configure steht:

    Code: PHP  [Auswählen]
    define('DB_SERVER_CHARSET', 'latin1'); // set db charset utf8 or latin1

    Seitenquelltext:

    Code: PHP  [Auswählen]
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-15" />

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #42 am: 19. Februar 2016, 09:35:40
    Beim Speichern der CSV Datei ist auch der richtige Zeichensatz gewählt worden?
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    dertobinator

    • Fördermitglied
    • Beiträge: 601
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #43 am: 19. Februar 2016, 09:57:16
    Hab das jetzt so abgespeichert.
    allerdings statt der "" als Texttrenner die #. Hattest Du doch so vorgeschlagen.
    Beim Import wieder Fehlermeldung:

    ERROR: wrong action (""), line: 2 dataset: XTSOL^update^FIS-AR 108-6.1^1^0^1^product_info_v1.html^FISCHER HYDRAULIK^0^154.90^^^^^1^1^0^^^product_options_selection.html^1^1^6^^^^^^fischer-1-logo.jpg^^^^^^^^^FISCHER Stahlflex-Bremsschläuche ALFA ROMEO 33 Sportwagon (905A) 1.5^Einbauort: Vorder- und Hinterachse

    Welches Feldsoll denn dasmit den "" sein, wo was rein muss? Wie gesagt, es ist im Vergleich zur Originalliste kein anderes außer dem Preisfeld verändert, hinzugefügt oder entfernt worden.

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Preisupdate per CSV wird nicht übernommen
    Antwort #44 am: 19. Februar 2016, 10:40:56
    Im Backend des Shops sind diese Zeichen jetzt auch eingestellt?

    Die Fehlermeldung bedeutet eigentlich, dass der Import in der zweiten Zeile im Zweiten Feld einen Wert erwartet, aber keinen finden konnte. Das kann eigentlich nur daran liegen, dass das CSV nicht im erwarteten Format ankam (also mit den Feldtrennzeichen die im Backend eingestellt sind.)
    [ Für Gäste sind keine Dateianhänge sichtbar ]
    Trade Republic - Provisionsfrei Aktien handeln
    2 Antworten
    2642 Aufrufe
    16. November 2014, 21:37:51 von mtmobile
    13 Antworten
    7367 Aufrufe
    04. Februar 2010, 13:18:00 von Tomcraft
    9 Antworten
    1905 Aufrufe
    30. Oktober 2018, 09:06:16 von dertobinator
    3 Antworten
    3387 Aufrufe
    04. Oktober 2011, 13:22:54 von Tomcraft