#2130 Shopware 5.6.7: Warenkorb in Sprachshops funktioniert nicht mehr
Fehlerbeschreibung
Nach dem Update auf Shopware 5.6.7 funktioniert der Warenkorb eines oder mehrer Sprach-Shops nicht mehr.
Du erhälst im Frontend die Fehlermeldung "Uncaught TypeError: Return value of Shopware_Controllers_Frontend_Checkout::isShippingAllowed() must be of the type bool [...]".
Ursache
Der Fehler steht unmittelbar mit dem Shopware Update im Zusammenhang und wird nicht durch ThemeWare verursacht. Ursache sind alte Übersetzungszustände.
Lösung
Zu dem Fehler gibt es bereits mehrere Einträge im Shopware Forum, z.B. hier: https://forum.shopware.com/discussion/69249/aufruf-des-warenkorbs-im-en-sprachhop-gibt-seit-update-auf-5-6-7-fehler
1. Lösungsmöglichkeit
Öffne und speichere alle Länder-Übersetzungen unter "Grundeinstellungen > Shopeinstellungen > Länder > Deutschland etc. > Übersetzung von Name".
2. Lösungsmöglichkeit
Passe die Methode isShippingAllowed() in dem Frontend Controller an. Füge dazu nach diesen Zeilen folgenden Code ein:
if (!array_key_exists('allow_shipping', $countryTranslations[$countryId])) {
return $allowedByDefault;
}
Die vollständige Methode sieht dann so aus:
private function isShippingAllowed(int $countryId): bool
{
$queryBuilder = $this->get('dbal_connection')->createQueryBuilder();
$allowedByDefault = (bool) $queryBuilder->select('allow_shipping')
->from('s_core_countries', 'countries')
->where('countries.id = :countryId')
->setParameter(':countryId', $countryId)
->execute()
->fetchColumn();
$countryTranslations = $this->get('modules')->sAdmin()->sGetCountryTranslation();
if (!$countryTranslations) {
return $allowedByDefault;
}
if (!array_key_exists($countryId, $countryTranslations)) {
return $allowedByDefault;
}
if (!array_key_exists('allow_shipping', $countryTranslations[$countryId])) {
return $allowedByDefault;
}
return $countryTranslations[$countryId]['allow_shipping'];
}
Bitte teile uns deine Meinung mit!
Lösung nicht gefunden?
Bitte sieh auch in den anderen Kategorien nach.
Fehler nicht gelöst?
Wenn du das Problem nicht mit den häufigsten Fehlern lösen konntest, starte die individuelle Fehlerbehebung. Hierüber kannst du auch ein Support-Ticket eröffnen, falls du den Fehler nicht selber beheben kannst.
Lösung nicht gefunden?
Bitte sieh auch in den anderen Kategorien nach.
Einführung Anleitungen Handbuch Profiwissen Häufige Fragen Häufige Fehler Shopware allgemein
Fehler nicht gelöst?
Wenn du das Problem nicht mit den häufigsten Fehlern lösen konntest, starte die individuelle Fehlerbehebung. Hierüber kannst du auch ein Support-Ticket eröffnen, falls du den Fehler nicht selber beheben kannst.