Изменение кнопки "Загрузить файл"

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем johnznt, 22 янв 2016.

  1. johnznt

    johnznt Новичок

    Сообщения:
    1
    Симпатии:
    0
    У нас на сайте http://3dsharzh.ru/ при заказе товара, обязательный пункт - загрузка файла. Можно как то сделать, что бы при удачной загрузке файла, кнопка "загрузить файл" менялась на что нибудь типа "файл загружен"? А то покупатели думают, что он не загрузился.
    Opencart 2.1.0.1
    За вознаграждение.
     
  2. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    ну есть же раздел по поиску исполнителей. Там найдутся люди... за деньги.. Или вознаграждение это спасибо??

    А по теме, появляется же сообщение что файл успешно загружен.. Покупатели странные у вас ))
     
    lavlan нравится это.
  3. Allaur

    Allaur Пользователь

    Сообщения:
    65
    Симпатии:
    2
    То не покупатели странные, то заказчики так хотят ))
    У меня тоже подобная ситуация ))
     
  4. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    в шаблоне \catalog\view\theme\ТЕМА\template\product\product.tpl

    находим там
    Код:
    $('button[id^=\'button-upload\']').on('click', function() {
       var node = this;
    
       $('#form-upload').remove();
    
       $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');
    
       $('#form-upload input[name=\'file\']').trigger('click');
    
       if (typeof timer != 'undefined') {
         clearInterval(timer);
       }
    
       timer = setInterval(function() {
         if ($('#form-upload input[name=\'file\']').val() != '') {
           clearInterval(timer);
    
           $.ajax({
             url: 'index.php?route=tool/upload',
             type: 'post',
             dataType: 'json',
             data: new FormData($('#form-upload')[0]),
             cache: false,
             contentType: false,
             processData: false,
             beforeSend: function() {
               $(node).button('loading');
             },
             complete: function() {
               $(node).button('reset');
             },
             success: function(json) {
               $('.text-danger').remove();
    
               if (json['error']) {
                 $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>');
               }
    
               if (json['success']) {
                 alert(json['success']);
    
                 $(node).parent().find('input').attr('value', json['code']);
               }
             },
             error: function(xhr, ajaxOptions, thrownError) {
               alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
             }
           });
         }
       }, 500);
    });
    
    и меняем на
    Код:
    $('button[id^=\'button-upload\']').on('click', function() {
       var node = this;
    
       $('#form-upload').remove();
    
       $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input type="file" name="file" /></form>');
    
       $('#form-upload input[name=\'file\']').trigger('click');
    
       if (typeof timer != 'undefined') {
         clearInterval(timer);
       }
    
       timer = setInterval(function() {
         if ($('#form-upload input[name=\'file\']').val() != '') {
           clearInterval(timer);
    
           $.ajax({
             url: 'index.php?route=tool/upload',
             type: 'post',
             dataType: 'json',
             data: new FormData($('#form-upload')[0]),
             cache: false,
             contentType: false,
             processData: false,
             beforeSend: function() {
               $(node).button('loading');
             },
             complete: function() {
             },
             success: function(json) {
               $('.text-danger').remove();
    
               if (json['error']) {
                 $(node).parent().find('input').after('<div class="text-danger">' + json['error'] + '</div>');
                 $(node).button('reset');
               }
    
               if (json['success']) {
                 alert(json['success']);
                
                 $(node).parent().find('input').attr('value', json['code']);
                 $(node).button('ll').text('Загружено');
               }
             },
             error: function(xhr, ajaxOptions, thrownError) {
               alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
             }
           });
         }
       }, 500);
    });
    
     
    Последнее редактирование: 24 авг 2016
    MaratNazirov и Bkmz нравится это.
  5. Allaur

    Allaur Пользователь

    Сообщения:
    65
    Симпатии:
    2
    Не получилось, сторонний шаблон
     
    Последнее редактирование: 24 авг 2016
  6. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    сторонние шаблоны тут не рассматриваются. Только по умолчанию.
     
  7. Allaur

    Allaur Пользователь

    Сообщения:
    65
    Симпатии:
    2
    Спасибо и на этом .....
     
  8. MaratNazirov

    MaratNazirov Новичок

    Сообщения:
    9
    Симпатии:
    0
    Спасибо за решение. Я возможно ли загрузка несколько файлов?
     
  9. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    изменением пару строк, нельзя. Переделывать нужно... по мне много чего.. не приходилось...