Hallo Leute, ich hab heute mal versucht jQuery auf eine etwas aktuellere Version zu bringen was aber auf der Detailseite den addToCart Button scheitern lässt und im Checkout kommt man nicht weiter da der Button auch nicht mehr funktioniert. Erste Recherchen lieferten keine Fehler im javascript. 1.4.2 ist ja nun auch schon gut 2 Jahre alt, seit dem hat sich ja einiges geändert… Grüße, Micha.
Okay, parsererror… in jquery 1.4.2 durfte man “so was” scheinbar noch machen, die ajaxcalls behaupten jsonp zu erwarten, die controller werfen alle html zurück… Das kann ja auch nicht gehen… datatype=‘html’ und schon klappt’s… das gibt’s an einigen stellen in der jquery.shopware.js. da ich neu im shopware universum bin, wie läuft das hier? jeder darf ein Ticket im TRAC auf machen? Wer es selbst auch versuchen will, gibt noch ein paar andere Probleme auf der Detailseite
Da scheinbar noch keiner auf jQuery 1.7 umgestiegen ist: das update auf jquery1.7.2 klappt, man muss aber einige Änderungen vor nehmen. So sind mir die jsonp’s in den ajax requests aufgefallen die aber html-schnipsel zurück liefern. das kann man mit dataType=„html“ korrigieren. Ebenso gibts bei der Live-Suche nen kleines Problem was man aber auch leicht beheben kann: aus: 'data': $(input.attr('form')).serialize(),
wird: 'data': $('#searchfield').serialize(),
dann klappt auch wieder die Live-Suche. Grund dafür schien wohl die crossDomain Policy zu sein die beim Betrieb auf https zum tragen kommt: Die Controller URL’s für Checkout und Login etc. laufen dann auf https und wenn man auf einer http-Seite ist klappen die Ajax-Requests nicht mehr. Etwas unschön aber so klappt es dann auch wieder mit den https/http-Seiten template/frontend/index/header.tpl jQuery.controller = {ldelim} 'ajax\_cart':'{url controller="checkout" appendSession}', 'ajax\_search':'{url controller="ajax\_search" fullPath=false}', 'ajax\_login':'{url controller="account" action="ajax\_login"}', 'register':'{url controller="register" appendSession}', 'checkout':'{url controller="checkout" appendSession}', 'ajax\_logout':'{url controller="account" action="ajax\_logout" appendSession}', 'ajax\_validate':'{url controller="register" appendSession}' {rdelim}; var baseUrl = '{url}'; if (baseUrl.substr(0, 5) == 'http:') { //console.log('http') $.controller.ajax\_cart = 'http' + $.controller.ajax\_cart.split('https')[1]; $.controller.ajax\_login = 'http' + $.controller.ajax\_login.split('https')[1]; $.controller.ajax\_logout = 'http' + $.controller.ajax\_logout.split('https')[1]; $.controller.ajax\_validate = 'http' + $.controller.ajax\_validate.split('https')[1]; $.controller.checkout = 'http' + $.controller.checkout.split('https')[1]; $.controller.register = 'http' + $.controller.register.split('https')[1]; // console.log($.controller) }
Ich werd meine Änderungen am jquery.shopware.js hier weiter vervollständigen. Vermutlich wird’s noch weitere kleine Problemchen geben…
Hallo, Allerdings stelle ich mir es schwierig vor, wirklich alle eventuell problematischen Situationen zu finden. Auch muss doch dann eigentlich jedes zusätzliche Script, was man einbindet, ebenfalls wieder auf Kompabilität geprüft werden, dazu kommen dann ggf. noch Plugins, die auch oft Javascript benutzen… Generell finde ich das schon wirklich interessant, ich selber verwende die 1.4.3 (wobei möglicherweise auch die 1.4.4 noch einwandfrei läuft), da es hier noch zu keinem größeren Versionssprung kommt und hauptsächlich Bugs ausgeräumt werden. Ich denke aber mit Shopware 4 wird eine neuere Version von Haus aus mit dabei sein. Ich bin gespannt auf weitere Neuigkeiten von Dir. Grüße rattatui
Na bis jetzt warn es ja eigentlich nur “schrameleien” Also jsonp zu erwarten aber html zurück senden funzt scheinbar auch nur unter jQuery1.4 Bis jetzt hab ich keine weiteren Probleme gehabt. Läuft alles bis zum Checkout durch. Gibt es einen Platz wo man user-templates hin legen kann? Hab nen clean-template mit jquery1.7. Ansonsten pack ich das auf github. Ist das erlaubt?
AddToCart via Ajax lädt auch Inhalte von https in eine http Seite, //Neu: https wird weggesplittet, dann klappts auch wieder mit dem ajax cart $('.basketform').bind('submit', function (event) { event.preventDefault(); var addToBasketAction = $(this).attr('action').split('://')[1]; $.loadingIndicator.open(); $.ajax({ 'data': $(this).serialize(), 'dataType': 'html', 'url': addToBasketAction, 'success': function(result) { $.loadingIndicator.close(); $.modal(result, '', modalConfig); $('#lbOverlay').css('opacity', '0').show().fadeTo('fast', '0.3'); $('.slider\_modal').ajaxSlider('locale', sliderConfig); $('.modal .close').hide(); $.basket.refreshDisplay(); } }); });
betrifft auch den buynowLink var \_buynowLink = $(this).attr('href').split('://')[1];
Hi wollte fragen wie ich jQuery überhaupt „installieren“ kann :x hab zwar den text von jQuery für Shopware durchgelesen doch ich finde nicht das Masterteamplate ich hoffe ihr könnt mir helfen.