[GELÖST] Prestashop migration auf Shopware Passwörter

Hallo, ich bin gerade dabei von Prestashop auf Shopware zu migrieren und habe ein Problem bei den Passwörtern. Die User können sich nach der Migration nicht mehr einloggen. Ich habe wie in der Anleitung beschrieben den SALT aus der Datei settings.inc.php (define(’_COOKIE_KEY_’,‘xxx’):wink: beim importieren in das Migrationsplugin eingetragen. Leider funktioniert das Login nicht mit den alten Passwörtern, d.h. die Credentials Usr&Psw funktionieren nicht mehr und ich musste auf “Passwort vergessen” klicken, um richtige Zugangsdaten zu erhalten. Folgendes habe ich bisher gemacht: Umzug von Live System auf Dev Prestashop migration von 1.4.8.2 auf 1.5.0 auf 1.5.3 Start des Shop Migration Plugin von Shopware 4.2 (hatte mich im ersten Poste geirrt, nutze nicht V4.0, sondern 4.1.4) Hat hier jemand damit Erfahrungen? Mit besten Grüßen, Philipp

Hi, du schreibst “shopware 4.0”, das funktioniert aber erst ab 4.1. Ansonsten: Was steht denn bei den Nutzern in der Spalte “encoder” in der s_user? lG Daniel Gesendet von meinem HTC One mit Tapatalk

Hi Daniel, da steht bei jedem User md5. Bei dem User, den ich geändert habe, steht jetzt bcrypt. Viele Grüße, Philipp

Hi, richtig wäre “md5reversed”,weil bei Presta md5 und salt in einer anderen Reihenfolge aufeinander folgen, als in unserem Standard. Beim nächsten Einloggen der Nutzer würde dann auf bcrypt migriert. Wenn das Migrationsplugin aktiv ist, have ich da gerade eigentlich keine gute Idee, was da schief gelaufen ist. Du könntest es mal probieren, den Encoder händisch auf " md5reversed" umzustellen, damit der Encoder des Plugins genutzt wird. Gesendet von meinem HTC One mit Tapatalk

Hi, vielen Dank für den Tipp! Aber wenn ich in die Tabelle s_user unter encoder „md5reversed“ eintrage und mich dann im frontend versuche anzumelden, dann bekomme ich folgenden Fehler: Encoder by name md5reversed not found in Shopware/Components/Password/Manager.php on line 79 Stack trace: #0 Shopware/Components/Password/Manager.php(130): Shopware\Components\Password\Manager-\>getEncoderByName('md5reversed') #1 engine/core/class/sAdmin.php(1209): Shopware\Components\Password\Manager-\>isPasswordValid('xxxxxx', '88e0168d1b64d2c...', 'md5reversed') #2 Shopware/Controllers/Frontend/Account.php(301): sAdmin-\>sLogin() #3 Enlight/Controller/Action.php(148): Shopware\_Controllers\_Frontend\_Account-\>loginAction() #4 Enlight/Controller/Dispatcher/Default.php(521): Enlight\_Controller\_Action-\>dispatch('loginAction') #5 Enlight/Controller/Front.php(214): Enlight\_Controller\_Dispatcher\_Default-\>dispatch(Object(Enlight\_Controller\_Request\_RequestHttp), Object(Enlight\_Controller\_Response\_ResponseHttp)) #6 Shopware/Components/HttpCache/HttpKernel.php(79): Enlight\_Controller\_Front-\>dispatch() #7 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(434): Shopware\Components\HttpCache\HttpKernel-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #8 Shopware/Components/HttpCache/AppCache.php(242): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #9 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(230): Shopware\Components\HttpCache\AppCache-\>forward(Object(Symfony\Component\HttpFoundation\Request), true) #10 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(245): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>pass(Object(Symfony\Component\HttpFoundation\Request), true) #11 Shopware/Components/HttpCache/AppCache.php(116): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #12 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(188): Shopware\Components\HttpCache\AppCache-\>invalidate(Object(Symfony\Component\HttpFoundation\Request), true) #13 Shopware/Components/HttpCache/AppCache.php(97): Symfony\Component\HttpKernel\HttpCache\HttpCache-\>handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #14 Shopware/Bootstrap.php(70): Shopware\Components\HttpCache\AppCache-\>handle(Object(Symfony\Component\HttpFoundation\Request)) #15 Enlight/Application.php(192): Shopware\_Bootstrap-\>run() #16 shopware.php(83): Enlight\_Application-\>run() #17 {main} Danke und viele Grüße, Philipp

Hi, es wäre möglich, dass du dir diese Version besorgen musst: https://github.com/ShopwareAG/swagmigration Kannst du dir das einmal runter laden und schauen, ob das dann mit dem md5reverse funktioniert? Falls nicht, bräuchte ich einmal einen importierten Hash aus der s_user um zu sehen, ob der Salt richtig importiert wurde. lG Daniel

Danke für die Hilfe, dass werde ich gleich ausprobieren. Mir sind noch ein paar andere Fehler aufgefallen:… …die Order und Payment Status nicht übernommen werden, egal wie ich sie bei der Migration zuweise. Sie stehen immer auf “offen”. …ich kann keine Bestellungen für Kunden im Backend anlegen. Für Kunden, die ich migriert habe erhalte ich eine Fehlermeldung: Fatal error: Call to a member function registerResources() on a non-object in /usr/www/users/verali/shopware/install\_4.1.4/engine/Shopware/Controllers/Backend/Customer.php on line 707 503 Service Unavailable Für Kunden, die neu erstellt sind, öffnet sich ein neues Fenster mit der Startseite des Shops mit der URL: dev.shopurl.com/?session-1=9a141742f499fa47942ab1b2976539e1&__shop=1 Ich kann dazu gerne einen neuen threat aufmachen, wenn Du das besser findest. Viele Grüße, Philipp

[quote=“Daniel Nögel”]Hi, es wäre möglich, dass du dir diese Version besorgen musst: https://github.com/ShopwareAG/swagmigration Kannst du dir das einmal runter laden und schauen, ob das dann mit dem md5reverse funktioniert? Falls nicht, bräuchte ich einmal einen importierten Hash aus der s_user um zu sehen, ob der Salt richtig importiert wurde. lG Daniel[/quote] Wenn ich mir von Github das ZIP ziehe und es versuche in meinem Plugin Manager in Shopware hochzuladen, dann erhalte ich folgende Feherlmeldung: “Die Plugin Struktur entspricht nicht dem vorgegebenen Format. Der Namespace des Plugins konnte nicht ermittelt werden.” Bestimmt mache ich einen blöden Anfängerfehler, aber so ist das halt, wenn man komplett neu in einem Shopsystem ist. Sorry!

Hi, die Plugin-Zips müssen sich in einer definierten Ordner-Struktur befinden, damit sie korrekt abgelegt werden können, ich habe es dir mal angehängt. Die anderen Fehler müssten mit der aktuellen Version ebenfalls behoben sein, da musst du dann aber tatsächlich neu migrieren, damit die Shop-Zuordnungen für die Kunden korrekt angelegt werden. Das müsstest du sonst in der s_user händisch machen. Auch die offenen Stati könnten mit der angehängten Version bereits korrigiert sein, bin mir gerade nicht ganz sicher. Denke ggf. an ein Backup oder mache direkt eine neue Migration in ein leeres System, damit dir nichts verloren geht. lG Daniel

1 „Gefällt mir“

Danke! Migration der Kunden inkl. funktionierendem Passwort: funktioniert. Migration der Zahlungsart: funktioniert. Migration des Bestellstatus: funktioniert nicht. Nach wie vor alles auf “offen”. Wenn Du eine simplen Fix für den Bestellstatus hast, dann gerne her damit :slight_smile: Ansonsten würde ich alle Bestellungen händisch ändern. Viele Grüße, Philipp

Noch ein paar Tipps für alle, die Migrieren: - URL Mapping mit .htaccess Holt euch von eurem Prestashop mittels Moussiq alle Produkte, deren URL und EAN. Migriert auf den neuen Shop und holt euch hier bei Produktexport alle Produkte, deren URL und die EANS. Am besten beides mit CSV. Achtet darauf, dass die gleichen Pordukte exportiert, z.B. nur aktive. Sortiert beide Tabellen nach EAN nummer in gleicher Reihenfolge. Fügt beide Tabellen zusammen und überprüft manuell oder mittels Formel (=WENN()), ob die richtigen EAN neben einander stehen. Erstellt dann eine Formel, die euch eine Rewrite Rule ausgibt. Z.B. RewriteRule ^(.\*)/alter\_Pfad.html http://neueurl.com/Pfad zum Produkt [R=301,L] Das ^(.*) ist eine Wildcard und sehr sinnvoll, weil man bei Prestashop die Produkte auf verschiedene URLs aufrufen kann. Es kann ja mal vorkommen, dass eine Webseite auf euch verlinkt hat und ihr nicht wisst, welchen Pfad die gewählt haben. Z.B. erreicht man auf http://www.euershop.de/products/NameDesProdukts und auf http://www.euershop.de/PfadderStandardK … esProdukts das gleiche Produkt. - Hausanschrift bei Adressen Prestashop speichert Straße und Hausnummer in einem Feld, shopware trennt das. Holt euch mittels phpmyadmin die Versandadressen und Rechnungsadressen der Kunden aus der Datenbank aus Shopware. Erstellt dann mit Excel eine Formel, die euch die Zahl vom Text trennt. Überprüft das noch mal manuell, denn es gibt keine Formell, die das 100% fehlerfrei macht (insb. bei Internationalen Adressen)

Hi ich habe noch zwei kleine Fragen. Durch die Migration wurde die Standard Zahlungsmethode bei allen Kunden auf „0“ gesetzt. Gleiches beim standard Versanddienst, hier steht es auch auf „0“. Ist halt immer etwas strange, wenn diese Kunden jetzt bestellen. Hast Du eine Idee wie ich das lösen könnte? Ich würde sonst folgendes tun: Ich würde das jetzt in der DB s_user bei „paymentpreset“ von 0 auf eine andere ändern. Oder ist das „paymentID“? Für die Standard Shipment Method habe ich leider in der DB nichts gefunden. Kannst Du mir sagen, wo ich das setzen könnte? Danke Dir! Viele Grüße, Philipp