Dringend: Rabattmodul defekt??

Hallo, soeben wollten wir Rabatte einstellen doch anscheinend ist das Rabattmodul defekt. Wir gehen wie folgt vor: 1. Klick auf „Einstellungen“ -> „Grundeinstellungen“ 2. Dann öffnen wir „Storefront“ 3. Klick auf „Rabatte/Zuschläge“ -> Ergebnis: Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Could not convert database value „s:15:„Rabatt“;“ to Doctrine Type object in Doctrine/DBAL/Types/ConversionException.php on line 46 Stack trace: #0 Doctrine/DBAL/Types/ObjectType.php(48): Doctrine\DBAL\Types\ConversionException::conversionFailed(‚s:15:„Rabatt“;‘, ‚object‘) #1 Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(266): Doctrine\DBAL\Types\ObjectType->convertToPHPValue(‚s:15:„Rabatt“;‘, Object(Doctrine\DBAL\Platforms\MySqlPlatform)) #2 Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(83): Doctrine\ORM\Internal\Hydration\AbstractHydrator->gatherRowData(Array, Array, Array, Array) #3 Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(69): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateRowData(Array, Array, Array) #4 Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(106): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateAllData() #5 Doctrine/ORM/AbstractQuery.php(603): Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(Object(PDOStatement), Object(Doctrine\ORM\Query\ResultSetMapping), Array) #6 Doctrine/ORM/AbstractQuery.php(456): Doctrine\ORM\AbstractQuery->execute(Array, 2) #7 Shopware/Controllers/Backend/Config.php(145): Doctrine\ORM\AbstractQuery->getOneOrNullResult(2) #8 Enlight/Controller/Action.php(148): Shopware_Controllers_Backend_Config->getFormAction() #9 Enlight/Controller/Dispatcher/Default.php(521): Enlight_Controller_Action->dispatch(‚getFormAction‘) #10 Enlight/Controller/Front.php(214): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #11 Shopware/Components/HttpCache/HttpKernel.php(79): Enlight_Controller_Front->dispatch() #12 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(434): Shopware\Components\HttpCache\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 Shopware/Components/HttpCache/AppCache.php(234): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #14 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(230): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #15 Shopware/Components/HttpCache/AppCache.php(99): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #16 Shopware/Bootstrap.php(70): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request)) #17 Enlight/Application.php(192): Shopware_Bootstrap->run() #18 shopware.php(83): Enlight_Application->run() #19 {main} Autsch! Damit haben wir natürlich nicht gerechnet. Dabei müssen wir dringend Rabatte eintragen. Hat jemand eine Idee?

Hi, du hast defekte Einträge eigener Werte in der Datenbank. Infos findet du z.B. auch hier: post76308.html#p76308 bzw direkt hier: post48395.html#p48395 Sebastian

Hallo Sebastian, [quote=“Sebastian Klöpper”]Hi, du hast defekte Einträge eigener Werte in der Datenbank. Infos findet du z.B. auch hier: post76308.html#p76308 bzw direkt hier: post48395.html#p48395 Sebastian[/quote] vielen Dank für die schnelle Reaktion. Ich habe tatsächliche etwas in der Datenbank geändert. Allerdings ging ich nicht davon aus, dass die Änderung des Wortes “Warenkorbrabatt” in “Rabatt” eine solche Wirkung hat. Dennoch habe ich das alles wieder rückgängig gemacht. Im verlinkten Beitrag heißt es [quote]schau mal bitte in die Tabelle s_core_config_values in der Datenbank. Dort werden eigene Werte zu den Grundeinstellungen gespeichert. Du müsstest dort einen Eintrag finden, die in dieser Form beginnt "s:24:“Zuschlag für…” Den Eintrag dann löschen - Danach kannst du das auch im Backend wieder korrekt aufrufen und nach deinen Wünschen anpassen.[/quote] Nun habe ich in meine Datenbanktabelle geöffnet und sehe viele verschiedene Datensätze. Mir ist jetzt nicht ganz klar wie “Den Eintrag dann löschen” gemeint ist. Soll ich den ganz Datensatz löschen, der mit “s:24” beginnt? Das dürfte problematisch werden. Einen solchen Eintrag gibt es bei mir nicht. Allerdings gibt es - je Shop - einen Eintrag “i:24;” - die sind aber praktisch leer. Ansonsten gibt es keinen Datensatz, der den Wortlaut “Zuschlag für…” enthielte.

In der besagten Tabelle werden nur eigene, individuelle Werte abgelegt. Du kannst also die betroffene Zeile löschen. Dann geht das backend wieder mit den Standardwerten auf und du kannst es nach deinen Wünschen anpassen. Sebastian

Guten Morgen Sebastian, [quote=“Sebastian Klöpper”]In der besagten Tabelle werden nur eigene, individuelle Werte abgelegt. Du kannst also die betroffene Zeile löschen. Dann geht das backend wieder mit den Standardwerten auf und du kannst es nach deinen Wünschen anpassen.[/quote] leider funktioniert das offenbar nur in der Theorie. Ich habe die beiden Datensätze “i:24;” gelöscht. Anschließend den Cache des Backends gelöscht, mich abgemeldet und erneut eingeloggt. Noch immer erhalte ich eine Fehlermeldung, beim Versuch die Rabatteinstellungen zu öffnen: [quote]Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. Could not convert database value “s:15:“Rabatt”;” to Doctrine Type object in Doctrine/DBAL/Types/ConversionException.php on line 46 Stack trace: #0 Doctrine/DBAL/Types/ObjectType.php(48): Doctrine\DBAL\Types\ConversionException::conversionFailed(‘s:15:“Rabatt”;’, ‘object’) #1 Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(266): Doctrine\DBAL\Types\ObjectType->convertToPHPValue(‘s:15:“Rabatt”;’, Object(Doctrine\DBAL\Platforms\MySqlPlatform)) #2 Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(83): Doctrine\ORM\Internal\Hydration\AbstractHydrator->gatherRowData(Array, Array, Array, Array) #3 Doctrine/ORM/Internal/Hydration/ArrayHydrator.php(69): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateRowData(Array, Array, Array) #4 Doctrine/ORM/Internal/Hydration/AbstractHydrator.php(106): Doctrine\ORM\Internal\Hydration\ArrayHydrator->hydrateAllData() #5 Doctrine/ORM/AbstractQuery.php(603): Doctrine\ORM\Internal\Hydration\AbstractHydrator->hydrateAll(Object(PDOStatement), Object(Doctrine\ORM\Query\ResultSetMapping), Array) #6 Doctrine/ORM/AbstractQuery.php(456): Doctrine\ORM\AbstractQuery->execute(Array, 2) #7 Shopware/Controllers/Backend/Config.php(145): Doctrine\ORM\AbstractQuery->getOneOrNullResult(2) #8 Enlight/Controller/Action.php(148): Shopware_Controllers_Backend_Config->getFormAction() #9 Enlight/Controller/Dispatcher/Default.php(521): Enlight_Controller_Action->dispatch(‘getFormAction’) #10 Enlight/Controller/Front.php(214): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #11 Shopware/Components/HttpCache/HttpKernel.php(79): Enlight_Controller_Front->dispatch() #12 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(434): Shopware\Components\HttpCache\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #13 Shopware/Components/HttpCache/AppCache.php(234): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #14 Symfony/Component/HttpKernel/HttpCache/HttpCache.php(230): [/quote] Mich irritieren die Angaben in der Fehlermeldung auch etwas. Da ist u.a. von “s:15” die Rede, das gibt es in der Tabelle “s_core_config_values” gar nicht. Und dann soll “Rabatt” konvertiert werden. Diese Zeichenkette kommt in der ganzen Datenbank nicht vor (habe im PhpMyAdmin danach gesucht). Was kann ich noch tun?

*push* immernoch wichtig! Wir können die Rabatte nicht konfigurieren und müssen das aber dringend tun!

hm… keine Ideen mehr? Irgendwie muss man doch die Rabattanzeige im Backend reparieren können. Es wäre schön, wenn ich ein wenig Hilfe bekäme. Könnte man ggf. bestimmte Dateien überschreiben? Oder besagt o.g. - zweite - Fehlermeldung, dass die Fehler “nur” in der DB vorliegen? Was kann ich tun?

Hallo, das ist nur ein Problem in deiner Datenbank. Dort sind defekte Einträge. Du kannst doch die DB nach diesem String (%rabatt%) durchsuchen und somit erkennen, wo es steht. Das kann eigentlich nur eine s_core_x Tabelle betreffen Das dann anpassen oder den Eintrag mit einem Standardeintrag einer anderen Installation abgleichen und anpassen Sebastian