Post by alternatywy2 » Wed Jun 12, 2013 7:18 pm

Witam

Na formularzu zamówienia w sekcji wyboru metody dostawy mam dodane ekstra pole input typu hidden, którego wartość jest generowana dynamicznie przez JavaScript. Jak mogę dodać tę wartość do kosztu całkowitego?

Standardowo Opencart sprawdza która metoda dostawy została wybrana i na tej podstawie pobiera koszt dostawy taki jaki został podany w kokpicie w opcjach danej metody a następnie dodaje go do kosztu całkowitego. Ze względu na to, że moja opłata jest generowana dynamicznie, nie mogę jej ustawić "na sztywno" w kokpicie. Jak zatem można dodać taką wartość to kosztu zamówienia?

Wygląda na to, że najpierw w pliku catalog/view/theme/default/checkout/checkout.tpl OC sprawdza, która metoda dostawy została wybrana:

Code: Select all

$.ajax({
      url: 'index.php?route=checkout/shipping',
      type: 'post',
      data: $('#shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
      dataType: 'json',
Może mógłbym dodać tam moją dynamicznie generowaną wartość w następujący sposób?

Code: Select all

data: $('#shipping-method input[type=\'hidden\']:value, #shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
Później w jakiś sposób OC pobiera z kokpitu koszt właściwy dla danej metody i dodaje do kosztu całkowitego, tak jak widać w pliku catalog/model/total/shipping.php:

Code: Select all

class ModelTotalShipping extends Model {
   public function getTotal(&$total_data, &$total, &$taxes) {
      if ($this->cart->hasShipping() && isset($this->session->data['shipping_method'])) {
         $total_data[] = array(
            'code'       => 'shipping',
              'title'      => $this->session->data['shipping_method']['title'],
              'text'       => $this->currency->format($this->session->data['shipping_method']['cost']),
              'value'      => $this->session->data['shipping_method']['cost'],
         'sort_order' => $this->config->get('shipping_sort_order')
         );
Czy możliwe byłoby wstawić jakoś wartość mojej zmiennej w miejsce poniższego fragmentu?

Code: Select all

data['shipping_method']['cost']
Proszę bardzo o pomoc.

New member

Posts

Joined
Wed Jun 05, 2013 5:42 am

Post by alternatywy2 » Thu Jun 13, 2013 4:40 am

Może ktoś mógłby mi przynajmniej podpowiedzieć jak przechować a następnie użyć wartość tego ukrytego pola w sekcji 'Potwierdzenie zamówienia'?

New member

Posts

Joined
Wed Jun 05, 2013 5:42 am

Post by alternatywy2 » Sat Jun 15, 2013 4:28 am

Już sobie poradziłem.

New member

Posts

Joined
Wed Jun 05, 2013 5:42 am
Who is online

Users browsing this forum: No registered users and 23 guests