webmex Posted August 11 Share Posted August 11 (edited) Ich habe ein Update von 8.1.1 auf 8.2.2 mit PHP8.1 gemacht. Nach dem Update verschwinden drei Blöcke aus dem Template. 1. Mainmenu wird nicht mehr angezeigt 2. Sprachwahl Modul fehlt komplett 3. Im Zahlungsweise Banner fehlen die Inhalte In den Benutzergruppen sind alle Module aktiviert. Auch bei deaktivierten "Fremdmodulen" und dem original Classic Template 2.1.1 ! Welcher andere Bereich steuert die Permissions? Edited August 22 by webmex (see edit history) Link to comment Share on other sites More sharing options...
El Patron Posted August 11 Share Posted August 11 Wie wurde Ihr Upgrade durchgeführt? Haben Sie eine Migration gemacht oder das offizielle PrestaShop-Upgrade-Modul verwendet? Falls es eine Migration war – und insbesondere, wenn Sie das PrestaHero-Migrationsmodul genutzt haben (nicht zu verwechseln mit meiner eigenen Seite PrestaHeroes.com) – habe ich bei einem meiner Kunden ein sehr ähnliches Problem gesehen. In diesem Fall hat das PrestaHero-Modul die Kundengruppen-Einstellungen nicht übernommen, sodass diese nach der Migration leer waren. Das führte zu einem Verhalten, das Ihrem sehr ähnlich ist. Schnelltest: Gehen Sie in Ihrem Back Office zu Kunden → Gruppen und bearbeiten Sie ein paar Kundenkonten. Prüfen Sie, ob deren zugewiesene Gruppen leer oder falsch sind. Wenn sie leer sind, ist dies sehr wahrscheinlich die Ursache des Problems. Link to comment Share on other sites More sharing options...
webmex Posted August 12 Author Share Posted August 12 Hallo und danke für den Tipp. Genau so ist es, bei dem betroffenen Benutzer fehlte, die entspreche Gruppe. Ich habe auch über das PrestaShop-Upgrade-Modul gearbeitet. Es war aber "nur" ein Update von 8.1.1 auf 8.2.2. Bei mir ist da aber leider noch etwas anderes. Bei der Registrierung wir jetzt einem neuen User keine Gruppe zugewiesen. Link to comment Share on other sites More sharing options...
El Patron Posted August 12 Share Posted August 12 Hi, I hope this translates from English well enough. I thought this problem related to migration module as I had not seen it until recently and caused by migration module. Good luck! Guter Hinweis – und danke für die Bestätigung der fehlenden Gruppe. Wenn Gruppen leer sind, treten in der Regel zwei Probleme gleichzeitig auf: Bestehende Kunden verlieren die Sichtbarkeit (Menüs/Blöcke verschwinden) und neuen Registrierungen wird keine Standardgruppe mehr zugewiesen. So lässt sich beides sauber beheben: Prüfen, ob die drei Standardgruppen existieren und korrekt zugewiesen sind Back Office → Einstellungen → Kundeneinstellungen → Gruppen Sicherstellen, dass diese Gruppen existieren und normal aussehen: o Besucher (nicht eingeloggt) o Gäste (Gastbestellung) o Kunden (registrierte Benutzer) Im Bereich „Standardgruppen“ einstellen: o Besuchergruppe = Besucher o Gastgruppe = Gäste o Kundengruppe = Kunden Speichern. Überprüfen, ob die Konfigurationsschlüssel auf die richtigen IDs verweisen Manchmal ändert ein Upgrade die IDs oder löscht die Werte. Schneller SQL-Check (phpMyAdmin): SELECT name, value FROM ps_configuration WHERE name IN ('PS_UNIDENTIFIED_GROUP','PS_GUEST_GROUP','PS_CUSTOMER_GROUP'); SELECT g.id_group, gl.name FROM ps_group g JOIN ps_group_lang gl ON gl.id_group = g.id_group AND gl.id_lang = 1 ORDER BY g.id_group; Falls die Namen nicht zu den erwarteten IDs passen, in der Konfiguration auf die tatsächlich vorhandenen id_group-Werte ändern (Beispiel: 1=Besucher, 2=Gäste, 3=Kunden – anpassen, falls bei Ihnen anders): UPDATE ps_configuration SET value = '1' WHERE name = 'PS_UNIDENTIFIED_GROUP'; UPDATE ps_configuration SET value = '2' WHERE name = 'PS_GUEST_GROUP'; UPDATE ps_configuration SET value = '3' WHERE name = 'PS_CUSTOMER_GROUP'; Bestehende Kunden korrigieren, damit sie sofort wieder Zugriff haben Falls bei manchen Kunden id_default_group = 0 oder NULL ist, auf die konfigurierte Kundengruppe setzen und sicherstellen, dass die Zuordnungstabelle den Eintrag enthält: SET @cust_group := (SELECT value FROM ps_configuration WHERE name='PS_CUSTOMER_GROUP' LIMIT 1); UPDATE ps_customer SET id_default_group = @cust_group WHERE id_default_group IS NULL OR id_default_group = 0; INSERT IGNORE INTO ps_customer_group (id_customer, id_group) SELECT c.id_customer, @cust_group FROM ps_customer c LEFT JOIN ps_customer_group cg ON cg.id_customer = c.id_customer AND cg.id_group = @cust_group WHERE cg.id_customer IS NULL; Modul-Sichtbarkeit nach Gruppen prüfen (optional) Einige Module erlauben die Einstellung „sichtbar für Gruppen“. Falls Sie Module zuvor eingeschränkt hatten, öffnen Sie eines oder zwei (z. B. Hauptmenü, Sprachumschalter) und stellen Sie sicher, dass die Gruppe „Kunden“ erlaubt ist. Dann Cache leeren: Erweiterte Einstellungen → Leistung → Cache leeren. Neue Registrierung testen Erstellen Sie ein neues Konto. Es sollte automatisch in der Gruppe „Kunden“ landen und sofort alle Blöcke/Menüs sehen. Warum das passiert Bei Upgrades oder Migrationen können die drei Standardgruppen-Zeiger PS_UNIDENTIFIED_GROUP, PS_GUEST_GROUP, PS_CUSTOMER_GROUP leer werden oder auf nicht vorhandene IDs zeigen. Dann bekommen neu registrierte Benutzer keine Standardgruppe, und im Frontend wird angenommen, dass der Benutzer keine Berechtigung hat – deshalb verschwinden die Blöcke. Backup-Hinweis Vor SQL-Änderungen die Tabellen ps_configuration, ps_customer und ps_customer_group exportieren, um bei Bedarf zurückrollen zu können. Wenn Sie möchten, posten Sie die Ausgaben der beiden SELECT-Abfragen und ich sage Ihnen genau, welche UPDATE-Befehle Sie für Ihre tatsächlichen Gruppen-IDs benötigen. Link to comment Share on other sites More sharing options...
webmex Posted August 12 Author Share Posted August 12 Hallo, ja das schaut nach einem Problem aus: SELECT name, value FROM ps_configuration WHERE name IN ('PS_UNIDENTIFIED_GROUP','PS_GUEST_GROUP','PS_CUSTOMER_GROUP'); Gibt folgendes raus: PS_CUSTOMER_GROUP 3 PS_GUEST_GROUP 9 PS_UNIDENTIFIED_GROUP 8 SELECT g.id_group, gl.name FROM ps_group g JOIN ps_group_lang gl ON gl.id_group = g.id_group AND gl.id_lang = 1 ORDER BY g.id_group; kommt dann: 1 Kunde 8 Besucher 9 Gast Das würde erklären warum der "Kunde" (Group 3 , ID 1 ) nicht passt, Da sollte dann UPDATE ps_configuration SET value = '1' WHERE name = 'PS_CUSTOMER_GROUP'; ausreichen oder? Bei den Bestandskunden ist in der Tabelle ps_customer bei id_default_group und id_shop_group die 1 noch eingetragen. Danke schon mal für die Unterstützung. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now