@kentos

Как убрать перезагрузку блока доставки?

Здравствуйте, вопрос такой, поставил модуль доставки Omniva, и попытался интегрировать в simplecheckout.
Но после выбора доставки когда производишь заказ, перезагружается поле, и пропадает выбор данной доставки, т.е её никак не выбрать.

вот код
<?php
        // Omniva (skip terminal locations)
        if (strpos($quote['code'], 'omnivalt.parcel_terminal') !== false) {
          continue;
        } else if (strpos($quote['code'], 'fake.parcel_terminal') !== false) {
          ?>
          <script>
        $(document).ready(function () {
      var omnivaModuleReady = false;
      $(document).on('click', 'input[type="radio"][name="shipping_method"]', function (e) {
          console.log($(this).val());
        if ($(this).val() === 'fake.parcel_terminal' && !omnivaModuleReady) {
            omnivaModuleReady = $(this).omniva({
                country_code: '<?php echo $omni_country_code;?>',
                path_to_img: 'image/omniva/',
                callback: function (id) {
                  omnivaModuleReady.val('omnivalt.parcel_terminal_' + id);
                },
                translate: omniva_map_translation,
                terminals: <?php echo json_encode($omni_terminals);?>,
            });
            omnivaModuleReady.trigger('omniva.show');

            // with default template this should be enough even if user changes postcode (as he needs to press continue button)
            var sameShipping = $('input[name="shipping_address"]');
            if (sameShipping.length > 0 && sameShipping.is(':checked')) {
                omnivaModuleReady.trigger('omniva.postcode', [$('#input-payment-postcode').val()]);
            } else {
                omnivaModuleReady.trigger('omniva.postcode', [$('#input-shipping-postcode').val()]);
            }
        } else {
            if (omnivaModuleReady) {
              if ($(this).is(omnivaModuleReady)) {
                  omnivaModuleReady.trigger('omniva.show');
              } else {
                  omnivaModuleReady.trigger('omniva.hide');
              }
            }
        }
      });
      $('input[type="radio"][name="shipping_method"]:checked').click();
      $('#button-shipping-method').on('click', function (e) {
        var $selectedOption = $('input[type="radio"][name="shipping_method"]:checked');
        if ($($selectedOption).val().includes('fake.parcel')) {
          e.preventDefault();
          e.stopPropagation();
          alert(omniva_map_translation.terminal_not_selected);
        }
      });
    });
    </script>
          <?php
        }
        // Omniva END
        ?>


Вставил после <?php foreach ($shipping_method['quote'] as $quote) { ?>

Верси opencart 2.3
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы