Poniższy link opisuje
http://excellencemagentoblog.com/blog/2012/01/27/magento-add-fee-discount-order-total/
dodać opłatę za zamówienie sum w Magento 1.
Teraz ta funkcjonalność została przeniesiona do modułu Cytat w Magento 2.
Myślę, że wciąż ta sama koncepcja, jak metody zbierania i pobierania. Czy ktoś próbował tego w Magento 2?
magento2
orders
order-totals
Sivakumar K
źródło
źródło
Odpowiedzi:
wykonaj poniższe kroki, które ci pomogą, w moim module właśnie dodałem kolumnę opłat,
która doda jeden wiersz w koszyku o nazwie opłata, a także pasek boczny na stronie kasy,
a także dodał kwotę opłaty do całkowitej kwoty (wartość statyczna opłaty zachowałem jako 100 ) po złożeniu zamówienia będzie się wiązało z opłatą, a jeśli jesteś zalogowany z przodu w widoku zamówienia, możesz zobaczyć nowy wiersz opłaty w całkowitym bloku, ale strona administracyjna jeszcze nie została zaimplementowana, jeśli ktoś wdroży, możesz opublikować tę odpowiedź
stwórz sales.xml w swoim folderze etc moduł
app \ code \ Sugarcode \ Test \ view \ frontend \ web \ js \ view \ Checkout \ cart \ totals \ fee.js
app \ code \ Sugarcode \ Test \ view \ frontend \ web \ js \ view \ Checkout \ summary \ fee.js
app \ code \ Sugarcode \ Test \ view \ frontend \ web \ template \ checkout \ summary \ fee.html
app \ code \ Sugarcode \ Test \ view \ frontend \ web \ template \ checkout \ cart \ totals \ fee.html
app \ code \ Sugarcode \ Test \ Model \ Total \ Fee.php
app \ code \ Sugarcode \ Test \ etc \ module.xml
app \ code \ Sugarcode \ Test \ view \ frontend \ layout \ checkout_cart_index.xml
app \ code \ Sugarcode \ Test \ view \ frontend \ layout \ checkout_index_index.xml
app \ code \ Sugarcode \ Test \ view \ frontend \ layout \ sales_order_view.xml
app \ code \ Sugarcode \ Test \ Block \ Sales \ Order \ Fee.php
po wykonaniu powyższych czynności uruchom poniżej polecenia, co jest ważne, ponieważ w folderze pub / static nie będzie plików js & html. Więc uruchom poniżej polecenia, które utworzy plik js i html w folderze pub / static
bin \ magento setup: static-content: deploy
jeśli prace przyjmują moją odpowiedź, która pomaga innym
źródło
Opracowałem niestandardowy moduł, aby dodać dodatkową opłatę za zamówienie.
Dodatkowa opłata zostanie wyświetlona na stronie koszyka, stronie kasy, fakturze i kredycie . Możesz również wybrać typ ceny do stałej i procent z konfiguracji administratora.
https://github.com/mageprince/magento2-extrafee/
źródło
Odpowiedź Pradeepa jest bardzo pomocna, ale pomija ważny punkt.
Funkcja Sugarcode \ Test \ Model \ Total :: collect () jest wywoływana dwukrotnie przez Magento's Magento \ Quote \ Model \ QuoteTotalsCollector :: collect (), jeden raz dla każdego adresu. W tym momencie tworzy łączną sumę, która jest przechowywana w tabeli ofert. Nie pojawia się w zamówieniu ani na stronie internetowej w kasie.
Z tego powodu ważne jest, aby pobierać opłatę tylko jeden raz, gdy wywoływana jest funkcja collect (). Można to zrobić, sprawdzając, czy są dostępne jakieś wysłane elementy:
Dodaj ten kod na początku swojego wariantu Sugarcode \ Test \ Model \ Total :: collect ()
źródło
Na podstawie powyższej odpowiedzi opracowałem niestandardowe rozszerzenie opłat.
https://github.com/sivajik34/Custom-Fee-Magento2
źródło
proszę skomentuj
formularz app \ code \ Sugarcode \ Test \ Model \ Total \ Fee.php w przypadku podwójnej opłaty niestandardowej
Mam nadzieję, że ci to pomoże !!
źródło