Tworzę system zbiorczego dodawania do koszyka. Uwaga: chcę, aby działało w przypadku prostych produktów z niestandardowymi opcjami -> Gdzie niestandardowe opcje są jak kolor (czerwony, zielony, niebieski) lub Rozmiar (Xl, M, S)
Załóżmy, że osoba chce zamówić poniższe elementy:
product
A,red
kolor,qty
12Product
A,green
kolor,qty
18Product
B, ilośćXL
3Product
C, ilość 10
Chcę więc dodać te 4 elementy kodem / programowo jednocześnie. W jaki sposób mogę to zrobić? Czy jest to możliwe za pomocą ciągu zapytania, dowolnego kontrolera lub wbudowanej funkcji? Nie musi to być ani jedno zapytanie, ani jedno wywołanie funkcji tylko na widok ...
product
attributes
cart
addtocart
programmatically
użytkownik1799722
źródło
źródło
Odpowiedzi:
Tak więc programowe dodawanie produktów do koszyka jest dość proste, wystarczy tylko obiekt produktu i sesja koszyka.
Jest tak, ponieważ nieco trudniej jest dodać konfigurowalne lub produkty z opcjami, ale wszystko, co musisz zrobić, to załadować obiekt produktu z odpowiednimi opcjami.
Teraz musisz przekazać tablicę zamiast niej,
$qty
a tablica ta powinna zostać sformatowana w inny sposób, w zależności od rodzaju dodawanego produktu.Aby uzyskać więcej informacji, zobacz następujące informacje:
źródło
Oto metoda, której użyłem jakiś czas temu:
Jest całkiem prosty i przetestowany, aby działać.
Posiadam 2 produkty
$productArray
, jeden prosty, a drugi konfigurowalny . Oczywiście możesz dodać więcej, a jeśli konfigurowalny ma 2 opcje, takie jak rozmiar i kolor , możesz po prostu dodać dodatkowe w tablicy opcji.źródło
Oprócz tego, że używanie prostych produktów z niestandardowymi opcjami nie jest właściwie sposobem używania „rozmiaru” i „koloru” w Magento, udało mi się dodać do koszyka produkty z niestandardowymi opcjami:
Czy o to ci chodziło? Jeśli chcesz dodać wiele produktów, powtórz ten proces dla każdego produktu, który chcesz dodać. Kluczowym czynnikiem jest zawsze podanie identyfikatora produktu, ilości i opcji poprzez
$_POST
.źródło
Możesz dodać wiele prostych produktów z niestandardowymi opcjami, zastępując kontroler koszyka w następujący sposób:
Umieściłem plik CartController.php tutaj: https://github.com/svlega/Multiple-Products-AddtoCart
źródło