justdanek Posted September 6, 2013 Share Posted September 6, 2013 (edited) Witam. Piszę własny moduł do presty, którego zadaniem będzie wybór odpowiedniego produktu przy pomocy formularza. Chciałbym aby osoba, która dokonała wyboru, miała możliwość dodania swojego wyboru do koszyka. Dlatego mam do was pytanie. Jak się do tego zabrać. Albo może jest coś na te temat w dokumentacji, a ja to przeoczyłem? Dziękuję Edited September 17, 2013 by justdanek (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted September 6, 2013 Share Posted September 6, 2013 blockcart to tylko moduł, który wyświetla zawartość koszyka (który jest funkcją presty, nie modułem). jeżeli chcesz dodawać produkty do koszyka (z animacją itp) wystarczy, że zastosujesz tą samą metodę którą wykorzystuje zwykła lista produktów, to w z upełności powinno wystarczyć. chyba, że mówiąc o formularzu mówisz o jakimś rozbudowanym systemie dodawania przedmiotów do koszyka. Wszystko zależy od tego Link to comment Share on other sites More sharing options...
justdanek Posted September 6, 2013 Author Share Posted September 6, 2013 Czyli, którą metodą miałbym się posłużyć? Masz na myśli nadpisanie któregoś z kontrolerów? Link to comment Share on other sites More sharing options...
vekia Posted September 6, 2013 Share Posted September 6, 2013 nie, absolutnie. jeżeli chcesz dodać produkt do koszyka po prostu skorzystaj z defaultowej funkcji, tj. <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')|escape:'html'}?qty=1&id_product={$product.id_product}&token={$static_token}&add">{l s='Add to cart'}</a> Link to comment Share on other sites More sharing options...
Krystian Podemski Posted September 9, 2013 Share Posted September 9, 2013 W zasadzie jeśli robisz moduły to zakładam że masz pojęcie o tym co robisz i jeśli chcesz pracować z PrestaShop to oprócz dokumentacji mógłbyś także po prostu przeanalizować kod. Proponuje zacząć od classes/Cart.php oraz controlers/front/CartController.php PrestaShop jest elastycznym i miłym w rozbudowywaniu oprogramowaniem i nie ma problemu z tworzeniem dedykowanych formularzy personalizacji dla produktów - po prostu trzeba przeanalizować bebechy. Link to comment Share on other sites More sharing options...
justdanek Posted September 11, 2013 Author Share Posted September 11, 2013 Do problemu podszedłem trochę okrężną drogą. Bo poprzez formularz dodaje produkt do bazy. Jest on już widoczny w bazie oraz w panelu administracyjnym. Ale nie wiem dlaczego nie chce się wyświetlić na głównej stronie sklepu. Zabawne jest to, że kiedy wyedytuje ten produkt w panelu, a następnie nic zmieniając zapisze to wtedy dopiero pojawia się na głównej stronie na liście "Produkty polecane". Co może być nie tak? Link to comment Share on other sites More sharing options...
justdanek Posted September 16, 2013 Author Share Posted September 16, 2013 (edited) W momencie kiedy już mam stworzony gotowy produkt przez formularz to w jaki sposób mogę go przekazać do koszyka bezpośrednio z formularza przy pomocy funkcji o której pisze Vekia? Zależy mi na takim rozwiązaniu aby klient po przeczytaniu podsumowania wyboru produktu mógł go tym przyciskiem dodać do koszyka. Obecnie dostaję komunikat, że produkt jest już niedostępny w sklepie co nie jest prawdą ponieważ klient tworzy taką ilość produktu jaką chce zamówić przez formularz. Edit: Grzebałem trochę w kodzie i znalazłem funkcję odpowiadającą za pobranie odpowiedniego id produktu. Całość jest w CartController.php w funkcji init(). Mianowicie: $this->id_product = (int)Tools::getValue('id_product', null); Gdy na sztywno podaję id równego na przykład 10 to produkt ląduje w koszyku. Problem w tym jak sprawić by wyszukiwał produkt niedawno stworzony przez klienta. Edited September 17, 2013 by justdanek (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts