[GELÖST] Warenkorb, JS, Lieferzeit-Anzeige, Registrierung

Hallo, vor einigen Wochen haben wir eine neue Installation von Shopware 4.0.7 durchgeführt. Bislang klappte auch alles. Aus einem unbekannten Grund funktionieren seit heute mehrere Dinge nicht mehr. Und zwar solche, die mit Javascript realisiert werden: 1. Der Klick auf den Warenkorb, in der Kopfzeile, erzeugt “nichts”. Es tut sich nichts. 2. Wenn man in einem Artikel auf den Warenkorbbutton klickt, passiert auch nichts. 3. Man kann den Service/Hilfe-Bereich nicht aufklicken. Tut sich nix. Nichts stimmt nicht ganz. Man sieht das animierte “beschäftig”-Icon. Nur sonst tut sich nichts. Man kann also keine “Funktion” ausführen, kann nicht kaufen. Außerdem stimmt etwas mit der Lieferzeitanzeige nicht. Egal welche Lieferzeiten man im Backend einträgt. Im Frontend wird das ignoriert. Dort steht _immer_ 1-3 Tage. Und die Registrierung neuer Kunden klappt auch nicht mehr. Wenn ich, in der Kopfzeile, auf “Mein Konto” klicke, und anschließend auf den WEITER-Button, erhalte ich folgende Seite: Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. sGetPaymentMeans #00: Could not get any payment-means SELECT p.* FROM s_core_paymentmeans p LEFT JOIN s_core_paymentmeans_subshops ps ON ps.subshopID=1 AND ps.paymentID=p.id LEFT JOIN s_core_paymentmeans_countries pc ON pc.countryID=41 AND pc.paymentID=p.id WHERE (ps.paymentID IS NOT NULL OR (SELECT paymentID FROM s_core_paymentmeans_subshops WHERE paymentID=p.id LIMIT 1) IS NULL) AND (pc.paymentID IS NOT NULL OR (SELECT paymentID FROM s_core_paymentmeans_countries WHERE paymentID=p.id LIMIT 1) IS NULL) ORDER BY position, name in engine/core/class/sSystem.php on line 182 Stack trace: #0 engine/core/class/sAdmin.php(456): sSystem->E_CORE_WARNING(‘sGetPaymentMean…’, ‘Could not get a…’) #1 Shopware/Controllers/Frontend/Register.php(377): sAdmin->sGetPaymentMeans() #2 Shopware/Controllers/Frontend/Register.php(105): Shopware_Controllers_Frontend_Register->paymentAction() #3 Enlight/Controller/Action.php(135): Shopware_Controllers_Frontend_Register->indexAction() #4 Enlight/Controller/Dispatcher/Default.php(521): Enlight_Controller_Action->dispatch(‘indexAction’) #5 Enlight/Controller/Front.php(214): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #6 Shopware/Bootstrap.php(79): Enlight_Controller_Front->dispatch() #7 Enlight/Application.php(192): Shopware_Bootstrap->run() #8 shopware.php(74): Enlight_Application->run() #9 {main} Das ist eine ziemliche Häufung von Problemen. Und dazu so plötzlich. Ich kann mir das gar nicht erklären. Seit Tagen sind wir nur damit beschäftigt Produkte einzutragen. Es handelt sich um eine reine SW4.0.7-Installation - keine Plugins. Für Hilfe wäre ich sehr dankbar.

Hi TomBox, ich denke dies wir mit der Meldung “Could not get any payment-means” zusammenhängen. Hast du auf der Haupt-/Fallbackzahlart Einschränkungen gesetzt? Im Standard ist die Hauptzahlart Vorkasse Die Hauptzahlungsart sollte immer uneingeschränkt auswählbar sein für alle Shops, Länder etc. Hier kannst du eventuell wenn du Einschränkungen wünscht über das Riskmanagement oder Versandarten arbeiten. Wenn du eine Versandzeit hinterlegst in einem Artikel greift diese erst wenn der Artikel keinen Lagerbestand mehr aufweist. Ansonsten wird immer auf den Textbaustein zurückgegriffen. Gruß Dennis

1 „Gefällt mir“

Hallo Tom, also die Punkte werden alle zusammenhängen. Problem ist einfach, dass keine Zahlungsart von Shopware gefunden wird. Das Thema gabe es hier schon oft und hängt nicht mit der 4er zusammen. Siehe z.B. hier: post59258.html#p59258 Das kann man also sehr schnell lösen. Bei der Lieferzeit greift deine Definition nur, wenn kein Lagerbestand vorhanden ist. Ist Lagerbestand gegeben, so zeigt Shopware immer den grünen Text für sofort lieferbar an. Das war auch in den anderen Shopware Versionen so: http://wiki.shopware.de/Lagerbestands-u … _1061.html EDIT: Da war Dennis etwas schneller :wink:

1 „Gefällt mir“

Meine Güte, heute seid Ihr aber schnell. Wollt Ihr Euch übertreffen? :happy: Super! > Wenn du eine Versandzeit hinterlegst in einem Artikel greift diese erst wenn der Artikel keinen Lagerbestand mehr aufweist. Ansonsten wird immer auf den Textbaustein zurückgegriffen. Okay, das leuchtet ein. > http://wiki.shopware.de/Lagerbestands-u … _1061.html Hm, mein Fehler. Ich muss gestehen, dass ich in der letzten Zeit nicht mehr oft im WIKI nachgeschaut habe, weil es am Anfang noch ziemlich wenig gefüllt war. Aber das scheint ja nun besser zu werden. Fein. :wink: > Problem ist einfach, dass keine Zahlungsart von Shopware gefunden wird. Das allerdings ist im Grunde nicht ganz korrekt. Denn die Standard-Zahlungsart Vorkasse war ja definiert. Allerdings nicht für alle Länder. Natürlich kann ich - technisch gesehen - verstehen, dass eine Bestellung ohne möglicher Zahlart nicht durchgeführt werden kann. Allerdings ist es wenig hilfreich, wenn “nichts” passiert. Denn wenn ich als “deutscher Kunde” innerhalb “Deutschlands” bestellen will - für eben jenes Land, für das die Standard-Zahlungsart definitiv eingestellt ist - interessiert es mich (als Kunde) nicht, das für irgendwelche anderen Länder etwas fehlt. So gesehen, stellt das eine unnötige Nutzungsschwelle dar, finde ich. Mein Vorschlag hierzu: Wäre es nicht denkbar, eine Art “Logikprüfung” ins Backend zu integrieren? Immer dann, wenn solche _essentiellen_ Einstellungen fehlen, liest man im Backend eine Fehlermeldung bzw. einen Hinweis. Genauso könnte auf der Website eine passende Meldung erscheinen. Aber “nichts” ist wirklich ein bisschen wenig, um Analysen durchzuführen. :wink: Vielen Dank schon mal für die Tipps. Sie haben fast vollständig geholfen. Der Klick auf “Service/Hilfe” klappt aber dennoch nicht. Idee?

Hi, [quote]Der Klick auf „Service/Hilfe“ klappt aber dennoch nicht. Idee?[/quote] Was genau meinst du da? Kommt das Dropdown nicht - sind da ggf. keine Shopseiten hinterlegt?

1 „Gefällt mir“

Hallo Sebastian, [quote=“Sebastian Klöpper”]Was genau meinst du da? Kommt das Dropdown nicht[/quote] genau das meine ich. [quote=“Sebastian Klöpper”]sind da ggf. keine Shopseiten hinterlegt?[/quote] Das war ein guter Tipp. Um nicht zu sagen, der richtige. :thumbup: Bisher kam ich gar nicht auf die Idee, dass “dort oben” auch Shopseiten genutzt würden. Besonders, weil ich bislang nicht von einer Shopgruppe namens “Service/Hilfe” wusste. Dann fiel mir aber ein, dass es ja eine doppelte Zuordnung einer anderen Gruppe sein könnte. So fand ich heraus, dass es die (ehemalige) Gruppe “Links” war. Naja, wieder was gelernt. :wink:

habe das gleiche Problem das sich beim „Klick“ auf „Service/Hilfe“ (oben) nichts tut und rätsel gerade wie du das meinst? wo kann ich denn einen link setzen? Im Backend unter „Shopseiten“ finde ich keine Möglichkeit. Wie hast du es denn im Endeffekt gelöst TomBOX?

@ Julian Du gehst auf Shopseiten auf Linker Bereich und Service/Hilfe oben und legst eine Shopseite mit Inhalt an. Dann unter Gruppen zuweisen. Dann erscheint es auch oben!

1 „Gefällt mir“

Hallo Julian, [quote=„Julian“]habe das gleiche Problem das sich beim „Klick“ auf „Service/Hilfe“ (oben) nichts tut und rätsel gerade wie du das meinst? wo kann ich denn einen link setzen? Im Backend unter „Shopseiten“ finde ich keine Möglichkeit. Wie hast du es denn im Endeffekt gelöst TomBOX?[/quote] im Backend, im Hauptmenüpunkt „Inhalte“ > „Shopseiten“ öffnet sich ein Fenster, in welchem du links die Gruppen siehst, denen du einzelne Seiten zugeordnet hast bzw. zuordnen kannst. Diese Gruppen kann man anlegen, ändern und löschen. Standardmäßig sind nach der Shopinstallation in der Gruppe „Links“ u.a. alle Seiten enthalten, die man bei Klick auf „Service/Hilfe“ erreicht. Ich hatte die Gruppe „Links“ komplett geleert und damit praktisch auch „Service/Hilfe“. So änderst du die Zuordnung einer Seite zu einer Gruppe: 1. Gruppe öffnen. 2. Seite öffnen (sodass du sie im rechten Fensterbereich bearbeiten kannst). 3. Unterhalb des Inhaltsbereiches (Editor) findest du zwei Listen, „Gruppen“ und „Zugewiesene Gruppen“. Unter „Gruppen“ siehst du alle Gruppen, die existieren. Unter „Zugewiesene Gruppen“ siehst du alle Gruppen, denen die gerade aktive (also zu bearbeitende) Seite zugeordnet wird. Du kannst nun Einträge zwischen den beiden Listen via Drag&Drop verschieben. Anschließend Speichern. Ein Beispiel: Nehmen wir einmal an, du möchtest beim Klick auf „Service/Hilfe“ den Link „Impressum“ anzeigen. Dann öffnest du die Seite „Impressum“ in der Gruppe, wo es enthalten ist und musst nun unterhalb des Texteditors, von der Liste „Gruppen“ den Eintrag „Service/Hilfe“ in die rechte Liste „Zugewiesene Gruppen“ verschieben (Drag&Drop) und Speichern. Voilá. Dies gilt allerdings nur, wenn es bei dir eine Gruppe namens „Service/Hilfe“ gibt. Ganz wichtig: Sofern du etwas am Template geändert hast oder unabhängig von der Gruppe „Links“ arbeiten möchtest, musst du natürlich noch sicherstellen, dass der richtige Textbaustein im Template steht. Normalerweise wird unter dem Topmenüpunkt „Service/Hilfe“ dasselbe angezeigt was unter „Links“ zu finden ist. Deshalb hatte ich beim Entfernen der „Links“-Menüpunkte auch alle aus „Service/Hilfe“ entfernt. Das ist eine Doppelzuweisung! Das kannst du erkennen, indem du in den Textbausteinen einmal im Bereich „frontend“ > „index“ > „checkout_actions“ einen Eintrag mit dem Namen „IndexLinkService“ suchst. Da siehst du, dass jene Templatevariable (also IndexLinkService) ebenfalls auf „Service/Hilfe“ lautet. Wenn du also oben im Topmenü einen eigenen Textbaustein benutzen möchtest, dann musst du jenen erst einmal erstellen (im Template) und dann die passende Gruppe (mit derselben Bezeichnung des Textbausteins als Templatevariable). Also erst Template anpassen und dort die Variable erstmalig reinschreiben (Infos siehe Wiki) und danach mit derselben Bezeichnung eine Shopseiten-Gruppe erstellen. Und danach die gewünschte Seite zuordnen. Hope this helps…

1 „Gefällt mir“

wow vielen Dank erstmal für die detaillierte Beschreibung zur Problembekämpfung ^^, ich werde mich die Tage da mal in Ruhe ransetzen und dir berichten bzw. dich löchern :wink: