Probleme in xtc2oxid/osc2oxid

Bei der Arbeit an dem xtc/osc-Kundendaten-Import ist mir folgendes aufgefallen:

xtc2oxid/osc2oxid haben noch [B]grundlegende [/B]Probleme:

Es wird vorausgesetzt, dass die Sprache mit der “language_id” 1 die deutsche Sprache ist.

Bei einer xtc-Standard-Installation ist die “language_id” 1 jedoch die englische und “language_id” 2 die deutsche Sprache!

Auszug aus der xtCommerce Install-SQL:

INSERT INTO languages VALUES (1,'English','en','icon.gif','english',1,'iso-8859-15');
INSERT INTO languages VALUES (2,'Deutsch','de','icon.gif','german',2,'iso-8859-15');

Die [B]Steuersätze [/B]bei den Artikeln werden [B]nicht [/B]berücksichtigt, alle Artikel werden mit dem Standard-Steuersatz (z.B. 19%) importiert.

Artikel mit Steuersatz abweichendem Steuersatz (z.B. 7%) erhalten somit einen falschen Wert.

Zudem wird immer der [B]Nettopreis [/B]importiert.

Es gibt ein mögliches [B]Sicherheitsproblem[/B], dies habe ich der OXID AG mitgeteilt.

am besten schreibst du das mal unter http://bugs.oxid-esales.com, da sind die entwickler direkt und können den bug report bearbeiten.

[QUOTE=avenger;13440]Bei der Arbeit an dem xtc/osc-Kundendaten-Import ist mir folgendes aufgefallen:[/QUOTE]
Ich habe mich jetzt mal über den Importer hergemacht, und ein paar Dinge verbessert:

Die ID der aktiven Sprache wird aus xtc ermittelt, und wird statt dem im Importer definierten festen ID “1” verwendet.

Die [B]Steuersätze [/B]für den Shop werden aus xtc ermittelt.

Beim Produkt-Import wird der xtc-[B]Nettopreis [/B]mit dem für das Produkt gültigen Steuersatz auf den [B]Bruttopreis [/B]umgerechnet.

Die Produkt “aktiv” Information wird aus der xtc “aktiv” Information übernommen, statt global auf “aktiv” gesetzt.

Wird im Produkt ein anderer als der Standard-Steuersatz verwendet (z.B. 7%), dann wird der dem Produkt zugeordnet.

Den Kundenimport hatte ich ja schon implementiert. ( http://www.oxid-esales.com/forum/showthread.php?t=2310#post13437 )

Jetzt brauche ich nur noch eine bessere Lösung für den Attribut-Import (siehe http://www.oxid-esales.com/forum/showthread.php?t=2320#post13472 ), dann sollte ein brauchbarer Import von relevanten xtc-Daten in OXID möglich sein.

Den Bestellungs-Import erspare ich mir erst einmal, das ist ziemlich heftig…

Im Anhang ist ein ZIP-Archiv mit der verbesserten Version.

Folgende Änderungen sind eingeflossen:

First of all, a security issue has been fixed: you must be logged in as an administrator in order to use the program.

The ID of the active language is determined from the source database, instead of using the fixed ID “1”, as the importer did (which was wrong at least for xtc, as 1 is the ID for the english language).

The tax-rates for the store-country and -zone are determined from the source database.

These are used on product-import to calculate the product’s gross price from xtc’s net price.

If the product uses a tax-rate different form OXID’s standard tax-rate (e.g. 7%), then this tax-rate is stored with the product.

The product’s “active” state is taken from the source-product’s “active” information, instead of setting it always to “active”.

The categorie’s “hidden” state is taken from the source-categories’s “active” information, instead of leaving it always “not hidden”.

Also customer-data can now be imported.

The importer’s ability to import product attributes is v e r y limited, as it stores the osc/xtc -attributes as OXID variants.

This means, you can have only 1(!) attribute-group in OXID, regardless of the number of attribute-groups a product has in xtc/osc.

The importer code, however, processes all option groups and options a product has in osc/xtc, storing different data for the same product redundantly, which is uselessly time consuming with a large number of attributes.

The importer code has been modified, so that only the data of the first option-group is processed.
Getestet mit xtc, nicht mit osc.

Für osc ist die Frage offen, wie dort die Produktpreise gespeichert werden:

Brutto, Netto oder abhängig von einem Konfigurationsparameter?

Als Administrator eingeloggt sein, das verstehe ich nicht so ganz. Soll das bedeuten, daß ich im Adminbereich angemeldet sein muß ? Wenn ja, wo rufe ich dann das skript auf, oder muß ich mir einen Verzeichnisschutz anlegen mit dem Benutzer administrator ???

[QUOTE=frickel;14139]Als Administrator eingeloggt sein, das verstehe ich nicht so ganz. Soll das bedeuten, daß ich im Adminbereich angemeldet sein muß ? Wenn ja, wo rufe ich dann das skript auf, oder muß ich mir einen Verzeichnisschutz anlegen mit dem Benutzer administrator ???[/QUOTE]
Man kann sich im Front- oder Backend als Admin einloggen.

Das Skript ruft man dann über die Browser-Adresszeile auf.

Klappt einwandfrei. Wirklich spitze. Kann ich den Import mehrmals laufen lassen, oder habe ich die Daten dann alle doppelt ?

[QUOTE=frickel;14141]Kann ich den Import mehrmals laufen lassen, oder habe ich die Daten dann alle doppelt ?[/QUOTE]
Kannst Du, die OXID DB-Tabellen werden vor dem Import bereinigt…

Hallo!

Zunächst vielen Dank für deine Arbeit!

Leider werden die Sprachen bei mir immo vertauscht. Welche “Vorarbeiten” sind in der XTC-Datenbank nötig?

LG
Luke

Hallo Luke,

ich meine, die langID der Hauptsprache sollge auf “0” stehen.

Gruß

[QUOTE=Marco Steinhaeuser;37062]Hallo Luke,

ich meine, die langID der Hauptsprache sollge auf “0” stehen.

Gruß[/QUOTE]
In xtc gibt es keine Sprach-Id “0”…

Ooops - sorry, ich hatte das noch vom OSC im Hinterstübchen.

Gruß

[QUOTE=avenger;37066]In xtc gibt es keine Sprach-Id “0”…[/QUOTE]

Eben…

Wie gesagt, funktioniert einwandfrei, nur sind die Sprachen vertauscht… Wo muss ich nun welche ID setzten, oder sehe ich den Wald vor lauter Bäumen wieder nicht…

[QUOTE=luke0810;37375]Eben…

Wie gesagt, funktioniert einwandfrei, nur sind die Sprachen vertauscht… Wo muss ich nun welche ID setzten, oder sehe ich den Wald vor lauter Bäumen wieder nicht…[/QUOTE]
Was heißt "vertauscht?

Die aktuelle Sprache in xtc wird zur OXID-Sprache 0, und dann weiter aufwärts mit den anderen.

Naja, alles Deutsche wurde in Englisch eingefügt und umgekehrt, ansonsten alles fehlerfrei… Oder kann es daran liegen, dass die Standard-Sprache in XTC Engl. sein kann? Dies habe ich noch nicht überprüft.

Hallo, ich habe das gleiche Problem mit den Sprachen. Soweit habe ich das gelöst bekommen allerdings sind nun einige Contentinhalte vertauscht oder nur in Deutsch. Bei mir ist Deutsch ID 1 und Englich ID 2. Gibts da schon was neues?. Bei Deutsch ist der Welcome in Englisch und andersherum.

[QUOTE=luke0810;37378]Naja, alles Deutsche wurde in Englisch eingefügt und umgekehrt, ansonsten alles fehlerfrei… [/QUOTE]

Hallo,
hatte das gleiche Problem und ewig in der Datenbank nach der Language ID gesucht und nicht gefunden. Ich habe das Skript probiert und es hat in soweit alles geklappt, dass ich ebenfalls mit deutschen Einstellungen englischen Text hatte und umgekehrt.

Ich habe im Backend unter Stammeinstellungen -> Sprachen (dort steht zu jeder Sprache die Sprach-ID) alle Sprachen gelöscht und neu Eingefügt, als erstes Deutsch und dann Englisch. Die Sprach-ID wird fortlaufend vergeben und somit wird Deutsch die Sprach-ID 0 zugewiesen und Englisch die 1 etc.

Das Hat bei mir prima geklappt und die Sprachen sind jetzt wieder richtig, hoffe ich konnte euch helfen:)

santifa

Hallo santifa,

ja, konntest Du. Danke. Damit ist dieser Thread sicher erledigt?
http://www.oxid-esales.com/forum/showthread.php?t=6532

Gruß

[QUOTE=santifa;38700]Hallo,
hatte das gleiche Problem und ewig in der Datenbank nach der Language ID gesucht und nicht gefunden. Ich habe das Skript probiert und es hat in soweit alles geklappt, dass ich ebenfalls mit deutschen Einstellungen englischen Text hatte und umgekehrt.

Ich habe im Backend unter Stammeinstellungen -> Sprachen (dort steht zu jeder Sprache die Sprach-ID) alle Sprachen gelöscht und neu Eingefügt, als erstes Deutsch und dann Englisch. Die Sprach-ID wird fortlaufend vergeben und somit wird Deutsch die Sprach-ID 0 zugewiesen und Englisch die 1 etc.

Das Hat bei mir prima geklappt und die Sprachen sind jetzt wieder richtig, hoffe ich konnte euch helfen:)

santifa[/QUOTE]
Diese Diskrepanzen liegen wohl daran, dass die Standardsprache im xtc und OXID-Shop unterschiedlich eingestellt ist.

Das Importprogramm weist die Standardsprache im xtc-Shop der OXID-Sprachkennung “0” zu, und importiert weitere Sprachen dann mit fortlaufenden Nummern.

Die Anpassung der OXID-Sprachdefinition ist in diesen Fällen eine gute Idee, und auch notwendig…

Wie sieht es mit xtc-modified aus ? Kann man dieses Tool hier auch benutzen ?
Ich wollte Daten von meinem XTC-Modified in den Oxid schaufeln. Funktioniert leider nicht…