Strona główna forum Wsparcie Konfiguracja Płatność na podstawie dostawy - checkout

Płatność na podstawie dostawy - checkout

Wszystko o konfiguracji, możliwościach i ustawieniach...

bms

Posty: 23
Gadu-Gadu: 0

Witam,

czy zna ktoś sposób, który pozwoli mi na podstawie metody dostawy wyświetlić jedynie jedną płatność w kolejnym skoku checkout'u. Chodzi o to że dostaw i płatności jest kilka, ale dla dostawy X pragnę mieć tylko jedną możliwą, domyślnie zaznaczoną płatność.

z góry dzięki za sugestie

Płatność na podstawie dostawy - checkout

PostTeraz jest 29 mar 2024, o 16:38
Google

Posty: 427
Lokalizacja: Internet


Posty: 93
Gadu-Gadu: 4275000

Witam,

Jedyny sposób jaki znam to dodanie metody isAvailable() w konkretnym modelu płatności.

W sumie można by było dość łatwo dorobić do tego moduł konfigurowalny w PA.
Przykładowy kod:
public function isAvailable($quote=null)
    {
       $oldAvailable = parent::isAvailable($quote);
       
// pobieramy kod formy dostawy;
        $shipping = Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingMethod();

// tutaj do implementacji według potrzeb
        if (eregi("pobranie", $shipping))
            $available =  true;
        else
            $available = false;
       
        return $available && $oldAvailable;
    }


bms

Posty: 23
Gadu-Gadu: 0

No takie coś mi wystarczy problem jedynie w tym czy mam umieszczać to w każdym module płatności żeby zabronić wyświetlenia trzem (modyfikując true/false) a dopuścić jedynie jeden ?


Posty: 93
Gadu-Gadu: 4275000

W każdym.

Podkreślam, to jest najprostsze i najszybsze rozwiązanie, niekoniecznie najlepsze, ale dla takiego obszaru jak dostawy i płatności (które w zasadzie są ustalane podczas wdrażania, raz) wystarczające.

bms

Posty: 23
Gadu-Gadu: 0

Fajnie dzięki. Jak mi jeszcze podpowiesz jak domyślnie zaznaczyć tę opcję, bo i tak jest pojedyncza będzie super

dzięki i pozdrawiam


Posty: 18
Gadu-Gadu: 0

Gdzie znajduja sie te moduły płatności? Bo plików jest od groma, i nie wiem w których plikach wkleić proponowany kod. Siedze juz klika godzin.

Na pomoc tego forum naprawdę ciężko liczyć. Początkujący nie uzyska zbyt wielkiej pomocy.
Ja sobie już poradziłem bez waszej pomocy. A nawet udało mi się powyższa metodę podpiąć pod multiple table rates. I hula. Trochę się nasiedziałem, ale gdyby więcej uczynności było to by zajęło zapewne dużo mniej.
Uczynność użytkowników jest też zapewne powodem małej aktywności forum.

Podziękowania dla "kasky" za pomysł skryptu.


Posty: 52
Gadu-Gadu: 0

Piszesz, że ciężko liczyć na pomoc tego forum, a sam nie napisałeś ani słowa jak rozwiązałeś problem. Podpowiedz które pliki zmodyfikowałeś, gdzie wstawiłeś podany wyżej skrypt, co jeszcze dodałeś do skryptu od siebie, itd.

Napisz zamiast marudzić, na pewno komuś to się przyda w przyszłości.

Pozdrawiam


Posty: 428
Lokalizacja: W-wka
Gadu-Gadu: 36599

Z reguły na uczynność innych najbardziej narzekają Ci którzy sami pomagać nie lubia :P
http://transit.waw.pl - Sklep oparty o Magento


Posty: 18
Gadu-Gadu: 0

Witam.
Tutaj nie chodzi o to że pomagać nie lubią, ale jak nie wiem to nic nie pisze. A nie pisanie, że mogę pomóc za jakieś wynagrodzenie. To ze za pieniądze łatwo znaleźć wsparcie nie jest niczym nowym i trudnym od wykonania.

Ale wracając do tematu wątku, przedstawiam co ja dokonałem.
Korzystam z dodatkowych modułów multipletablerates i BankPayment (magento-community/BankPayment). W multipletablerates ustawiłem 5 opcji dostawy:
1. Przesyłka pocztowa (przedpłata na konto)
2. Przesyłka pocztowa pobraniowa
3. Przesyłka kurierska (przedpłata na konto)
4. Przesyłka kurierska pobraniowa
5. Odbiór Osobisty

Każda z tych opcji ma różną formę płatności. I w moim przypadku wyglądają następująco:
1. wpłata na konto (korzysta z modułu Bank Payment)
2. płatność przy odbiorze (korzysta z modułu wbudowanego Check/Money Order ustawionego jako Płatność przy odbiorze)
3. wpłata na konto
4. płatność przy odbiorze
5. płatność przy odbiorze, lub wpłata na konto

Następnie w pliku app/code/community/Phoenix/BankPayment/Model/BankPayment.php wkleiłem taki kod:
   public function isAvailable($quote=null)
    {
       $oldAvailable = parent::isAvailable($quote);
       
// pobieramy kod formy dostawy;
        $shipping = Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingMethod();

// tutaj do implementacji według potrzeb
        if (eregi("multipletablerates_bestway_75", $shipping))
            $available = true;
        elseif (eregi("multipletablerates_bestway_79", $shipping))
            $available = true;
        elseif (eregi("multipletablerates_bestway_77", $shipping))
            $available = true;
           
        return $available && $oldAvailable;
    }


gdzie multipletablerates_bestway_75/79/77 są wartościami które odczytałem dla każdej z wybranej opcji za pomocą FireBuga.
Aby to lepiej zobrazować, to u mnie te wartości dotyczyły:
multipletablerates_bestway_75 - Przesyłka pocztowa (przedpłata na konto)
multipletablerates_bestway_79 - Odbiór Osobisty
multipletablerates_bestway_77 - Pzesyłka kurierska (przedpłata na konto)

Następnie modyfikacji podlegał drugi plik który stosowany był do wyboru płatności czyli Check/Money Order
znajdujący się app/code/core/Mage/Payment/Model/Method/Checkmo.php
Tam wkleiłem nastepujący kod:
   public function isAvailable($quote=null)
    {
       $oldAvailable = parent::isAvailable($quote);
 
// pobieramy kod formy dostawy;
        $shipping = Mage::getSingleton('checkout/session')->getQuote()->getShippingAddress()->getShippingMethod();

// tutaj do implementacji według potrzeb
        if (eregi("multipletablerates_bestway_79", $shipping))
            $available = true;
        elseif (eregi("multipletablerates_bestway_76", $shipping))
            $available = true;
        elseif (eregi("multipletablerates_bestway_78", $shipping))
            $available = true;
       
     
        return $available && $oldAvailable;
    }

gdzie:
multipletablerates_bestway_79 - Odbiór Osobisty
multipletablerates_bestway_76 - Przesyłka pocztowa pobraniowa
multipletablerates_bestway_78 - Przesyłka kurierska pobraniowa

Tak zmodyfikowane pliki wyświetlają u mnie opcje płatności zgodnie z wcześniejszymi założeniami.

Nie jestem dobrym nauczycielem, ale może w miare zrozumiale opisałem moje rozwiązanie.


Posty: 34
Gadu-Gadu: 0

U mnie pięknie działa, tylko trzeba sprawdzić czy to jest multipletablerates czy np. matrixrate...
poza tym bankPymeny jest ok, natomiast drugiej zmiany dokonałem w pliku cashondelivery.phtml (app/code/community/Phoenix/CashOnDelivery/Model/cashondelivery.phtml)

magento 1.8.1 www.ks-reklama.pl/mag1702 - ale dopiero za tydzień - dwa będzie w pełni funkcjonalne. (może nawet bez mag1702)...

Następna strona

Powrót do Konfiguracja



cron