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: Modified 2.0 Artikelimport

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Modified 2.0 Artikelimport
    am: 07. September 2016, 13:01:52
    Hallo,
    ich wollte Texte meine Artikel per csv. Datei bearbeiten und habe eine Artikelexport aus dem Shopbackend durchgeführt und musste feststellen, dass beim Import der überarbeiteten Datei einiges durcheinander gegangen ist.
    Der Grund:
    ich habe viele Produkte die verschiedene Optionen haben, z.B. dünn, mittel und stark.
    Die Artikelnummern setzen sich aus denen der Grundartikel und den Nummern der  Attribute zusammen.
    So kann es bei mir durchaus vorkommen, dass es Grundartikel mit gleicher Artikelnummern gibt, die sich nur durch ihre Attributarktikelnummern unterscheiden.
    Leider orientiert sich der Artikelimport nur an der p_model (Datenbankfeld für die Artikelnummer), die ja bei mir mehrfach vorkommen kann. Bei einem Import zerschiesst dieser diese Artikel mit gleicher (Grund)Artikelnummer.
    Wäre es nicht sinnvoller, in den Export die product_id als maßgebende Nummer anzupassen. Dies ist ja für jeden Artikel unabhängig von der Artikelnummer und Attributen einmalig vergeben.
    Das würde den Import doch einiges einfacher machen.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=35656.0
    Trade Republic - Provisionsfrei Aktien handeln

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Modified 2.0 Artikelimport
    Antwort #1 am: 07. September 2016, 13:22:33
    Für Akualisierungen kann man durchaus die Produkt-ID benutzen.

    Bei Neuimporten ist das aber gefährlich und sollte vermieden werden.

    Bei meinem Modul EasyPopulate kann man als Import Referenz die Produkt-ID auswählen.
    Außerdem unterstütz mein Modul die Artikel Attribute.

    Gruss Web28

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Modified 2.0 Artikelimport
    Antwort #2 am: 07. September 2016, 15:35:25
    Für Akualisierungen kann man durchaus die Produkt-ID benutzen.
    Gruss Web28
    Hallo und danke für die Antwort.
    Nur im Standardimport ist die Produkt-ID doch nicht nutzbar. Jedenfalls wird die Spalte nicht exportiert.
    Dies hielte ich für sehr sinnvoll. Und ich würde das nur für Aktualisierungen nutzen wollen.
    Offenbar hat sich aber, was den Im- und Export angeht, leider seit xtc 3.04 nichts verändert..

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Modified 2.0 Artikelimport
    Antwort #3 am: 07. September 2016, 16:32:33
    ...
    Offenbar hat sich aber, was den Im- und Export angeht, leider seit xtc 3.04 nichts verändert..
    Das ist nicht korrekt.
    Allein von 1.06 zu 2.0 ist einiges überarbeitet worden (u.A. von meiner Wenigkeit).

    Vielleicht solltest du dir mal web28's EasyPopulate anschauen ?

    Außerdem würde es auch ein Leichtes sein die Import-Klasse zu erweitern, sodaß sie auch die products_id exportiert.

    Beim Import würde ich es abhängig davon machen ob das Feld products_id (evtl. dann gemäß den anderen Feldern p_id genannt) in der CSV vorhanden ist oder nicht.
    Wenn ja, importiere nach products_id, wenn nicht nach products_model.
    Das ist aber, wie web28 bereits andeutete gefährlich, nämlich dann, wenn man versehentlich kein Update macht sondern neue Produkte mit drin hat, dann kommt es mit hoher Wahrscheinlickeit zu Duplicate Entry- Fehlern bzgl. des Primary und somit Unique Keys auf products_id.
    Man könnte die Import-Klasse aber so umbauen, daß es lediglich UPDATEs gibt wenn die p_id in der CSV vorhanden ist und versehentlich in die CSV gerutschte products_id die es in der DB nicht gibt würden ignoriert.

    Gruß,
    noRiddle

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Modified 2.0 Artikelimport
    Antwort #4 am: 07. September 2016, 21:09:45
    Hallo noRiddle,
    es mag sich was geändert haben, sichtbar war es für mich jetzt nicht.
    Deine Erklärungen dazu waren jedenfalls einleuchtend. Dennoch halte ich den Import/Export verbesserungswürdig...

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Modified 2.0 Artikelimport
    Antwort #5 am: 08. September 2016, 15:57:56
    Inwiefern denn genau verbesserungswürdig ?
    Jeder hat da so seine speziellen Wünsche.

    Man kann noch viel machen an der Import-Export-Funktion (habe selbst ein eigenes Tool gebaut), es stellt sich nur die Frage ob es nicht eher so ist, daß die modified eCommerce Software ein grundsätzliches sehr gutes Tool für einen Online-Shop sein will und spezielle Features und Funktionswünsche eher ein Thema von bezahlten Erweiterungen sind.
    Die Software kann dafür, daß sie nach wie vor kostenlos ist und es auch keine abgespeckte Community- und eine aufgeforstete bezahlte Version gibt sehr sehr viel und die Verbesserungen in der 2.0 sind immens und aufwändig.

    Die Tatsache, daß es in deinem Fall Artikelnummern für Artikel mehrfach gibt darf nicht zu verkehrten Rückschlüssen führen.
    Eigtl., imnsho, ist die Vorgehensweise auch nicht richtig so etwas zu machen.
    Besser wäre ein Master-Slave-Modul, dann käme es nie zu mehrfach vergebenen Artikelnummern.

    Gruß,
    noRiddle

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Modified 2.0 Artikelimport
    Antwort #6 am: 08. September 2016, 20:31:52
    Hallo,
    um auf mein Problem zurückzukommen: der Grund, den Import überhaupt zu nutzen, war die Veränderung und Überarbeitung der Artikelnnamen und Beschreibungen. Für meinen Fall wäre es ausreichend, wenn a) die Möglichkeit bestünde die Product_ID mit zu exportieren und b) auch auzuwählen, dass diese statt der Artikelnummer maßgeblich ist. Da ich dies nur für diesen Fall bräuchte, wäre easy populate etwas überdimensioniert. Darüber hinaus weiß ich modified und die Arbeit dahinter sehr zu schätzen und versuche im Rahmen meiner Möglichkeiten hier im Forum mitzuhelfen..

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Modified 2.0 Artikelimport
    Antwort #7 am: 09. September 2016, 15:46:01
    Dann versuche mal folgendes:
    • Datei /admin/includes/classes/import.php sichern.
    • Datei gegen angehängte Datei austauschen.
    • Test der neuen Datei unbedingt auf einem Testsystem vornehmen.
      Wenn du keine Testumgebung hast endweder
      • Folgende Tabellen sichern bevor du den Test am Live-System machst (noch sicherer: alle Tabellen der DB sichern):
        • products
        • products_description
        • products_images
        • products_to_categories
        • categories
        • categories_description
        • alle personal_offers_by_customers_status_X,
          wobei X für die Kundengruppe steht
      • oder einfach Shopsystem in Subdomain kopieren (configure.php-Dateien an Pfad anpassen)
        und DB ebenfalls in eine Test-DB kopieren und diese Test-DB mit dem Shop konnektieren (configure.php-Dateien)
        und Test am Testsystem vornehmen.

    Ich konnte die geänderte Datei nicht testen, also unbedingt o.g. Sicherheitsvorkehrungen treffen.
    Die Datei vor dem Hochladen in import.php umbenennen !!


    Wenn ich keinen Fehler gemacht habe sollte es wie folgt funktionieren:
    • Export:
      Die products_id sollte als erstes Feld in der CSV erscheinen als p_id.
    • Import:
      • Wenn es das Feld p_id gibt in der CSV und es ist gefüllt
        wird ein UPDATE gemacht für den jeweiligen Artikel.
      • Wenn es das Feld p_id gibt in der CSV es jedoch leer ist
        wird die p_model benutzt für den Import
        und alles geht wie vorher (UPDATE oder INSERT, je nachdem ob es die p_model bereits gibt in der DB).

    Dabei ist wichtig, daß die p_id im CSV immer vorhanden ist, auch wenn sie für den Import theoretisch leer sein könnte (um für solche Artikel den Import wie vorher über die p_model zu machen, z.B. bei neuen Artikeln).

    Man könnte das Ganze so gestalten, daß man im Backend einstellen kann ob die p_id im CSV vorhanden ist. Das darf aber gerne jemand anders übernehmen.

    WICHTIG!!
    Ich übernehme keine Gewähr dafür, daß alles wie gewünscht funktioniert und es keine Fehler gibt.
    Deshalb nochmals:
    Entweder auf Testsystem testen oder DB vorher sichern.


    Wenn es beim Testen Probleme geben sollte, diese bitte ausführlich hier posten (inkl. evtl. Fehlermeldungen).

    Gruß,
    noRiddle

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Modified 2.0 Artikelimport
    Antwort #8 am: 09. September 2016, 17:10:09
    Hallo noRiddle,

    erstmal herzlichen Dank für Deine Mühe! :thx:
    Ich werde Deine Datei bei nächster Gelegenheit testen und hier berichten.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Modified 2.0 Artikelimport
    Antwort #9 am: 20. September 2016, 15:27:46
    Wann ist denn "bei nächster Gelegenheit" ?

    Gruß,
    noRiddle

    Viol

    • Fördermitglied
    • Beiträge: 2.279
    Re: Modified 2.0 Artikelimport
    Antwort #10 am: 20. September 2016, 15:53:23
    Wann ist denn "bei nächster Gelegenheit" ?

    Gruß,
    noRiddle
    Lieber noRiddle,
    ich bin gerade noch dabei, die "Schäden", die ein Import von Artikeln, die sich "nur" durch die Artikelattributnummer unterscheiden und die gleiche Grundartikelnummer haben, zu beheben.
    Ich werde es bald testen..

    Lottemann

    • Fördermitglied
    • Beiträge: 66
    Re: Modified 2.0 Artikelimport
    Antwort #11 am: 04. Januar 2017, 17:44:16
    Hallo! Ich greife dieses Thema nochmal auf, da ich das gleiche Problem habe. Bei mir kommen die doppelten Artikelnummern auch vor, und sie haben auch einen Grund:
    Ich verwende viele Explosionszeichnungen mit Nummerierungen. Damit in der Artikelliste der Artikel nach der Nummer auf dem Bild auch gefunden werden kann, setze ich vor die Artikelbezeichnung z.B. "(1) oder (27)". Natürlich ist der Artikel der gleiche, weil ja z.B. Normschrauben nicht immer an der selben Stelle in der Zeichnung stehen. Es würde auch mir ungemein helfen, wenn einfach die Artikelnummer angenommen würde, unabhängig von der Bezeichnung des Artikels. Bei einem Update (sehr selten) könnte es genauso laufen: Alle Artikel mit der selben Nummer bekommen auch das Preisupdate, wieder ohne Beachtung des Artikelnamens. Aber eventuell hat ja jemand eine andere Idee, wie ich die Explosionszeichnungsnummern in der Artikelliste anzeigen lassen kann...
    Ich habe da mal ein Bild angehängt, welches mein Problem verdeutlicht!

    karsta.de

    • Experte
    • Beiträge: 3.157
    Re: Modified 2.0 Artikelimport
    Antwort #12 am: 05. Januar 2017, 07:09:41
    Hallo Lottemann,

    ich würde dafür die DB-Tabelle products um ein Feld erweitern, in der du dann die interne Artikelnummer auch doppelt verwenden kannst. Die kann man dann direkt beim Anlegen des Produktes eingeben oder wenn du den Import verwenden willst, würde auch hier das Script um dieses Feld erweitert und kann so dem jeweiligen Artikeln per Import zugeordnet werden.

    So könnte man das gut updatesicher umsetzen.

    BG kgd

    Lottemann

    • Fördermitglied
    • Beiträge: 66
    Re: Modified 2.0 Artikelimport
    Antwort #13 am: 05. Januar 2017, 12:29:03
    Ich bin mir nicht sicher, ob ich wirklich genau verstanden habe was du meinst! Ich denke aber so würde es nicht gehen! Ich versuche die Problematik nochmal auf den Punkt zu bringen:
    Kategorie 1: 10 Artikel, eigene Artikelnummer, in Artikelbezeichnung jeweils Vorangestellt die Position auf der Zeichnung im Format (1) Artikelname, (2) Artikelname usw.. Im Artikelstamm ist die Sortierung genauso eingestellt z.B. (2) Artikelname ist auch Sortierung 2, damit in der Artikelliste im Frontend auch alles in der richtigen Reihenfolge steht. Fertig.

    Kategorie 2: 10 Artikel, aber nun taucht ein Normteil welches in Kategorie1 an Position 5 stand plötzlich an Position 8 in der Zeichnung auf. Wenn ich nun diese Kategorie importiere ändere ich auch das Teil in Kategorie 1 mit. Nun stimmt zwar in Kategorie 2 alles, aber in Kategorie 1 steht das Teil nun nicht mehr an Position 5, sondern an Position 8! Weiterhin habe ich somit 2x die Position 8 in der ersten Kategorie.

    Ich hatte versucht das ganze über eine Extension an der Artikelnummer zu lösen, also z.B. 0815-Kat1 und 0815-Kat2. Da wir eh keine Schnittstellen benutzen Kann man beim Übertrag die Extension einfach weglassen, aber dann kann ich die Bestände im Shop nicht aktuell halten...

    karsta.de

    • Experte
    • Beiträge: 3.157
    Re: Modified 2.0 Artikelimport
    Antwort #14 am: 05. Januar 2017, 13:36:06
    Also wenn du die gleichen Artikel verlinkst und immer an anderer Stelle sortiert haben willst, kann das nicht mit der Sortierung gehen, dann würde das natürlich auch nicht mit einem zusätzlichen Feld klappen. Ich denke da kann man nur den Artikel duplizieren und einen eigenen neuen Artikel daraus machen (also kopieren).

    Das zusätzlichen Datenfeld hätte ich gedacht für die jeweilige Bildnummer, wenn der Artikel z.B. "Schraube" immer gleich ist, aber immer einer anderen Kategorie zugeordnet ist.

    (Es scheinen ja wirklich viele Teile zu sein. Man könnte das sonst noch mit Attributen umsetzen.)
    Shop Hosting
    4 Antworten
    1900 Aufrufe
    07. Dezember 2021, 23:06:38 von r3LaXeD
    6 Antworten
    5683 Aufrufe
    17. Februar 2015, 07:54:57 von Svel
    5 Antworten
    3554 Aufrufe
    14. August 2014, 07:49:44 von jannemann
    8 Antworten
    2578 Aufrufe
    02. Juni 2017, 19:19:53 von Heiko1079