2016-07-28 3 views
0

Я установил компонент BT Property для моего сайта Joomla, и когда я выбираю несколько изображений (более 3 или 4), которые я хочу загрузить для своей статьи, ничего не происходит. Изображения не будут загружаться. Я пытаюсь изменить код, но я не знаю, в чем проблема.Загрузка темы для Joomla

Это код, который я хочу изменить.

<?php 

defined('_JEXEC') or die('Restricted access'); 
$document = JFactory::getDocument(); 
$path = $this->params->get('images_path', 'images/bt_property'); 
?> 

<ul class="adminformlist" id="uploading"> 
    <li><input type="file" name="attachment" id="attachment" multiple /><img id="spinner" 
     style="display: none; margin-left: 10px;" 
     src="<?php echo JURI::root(); ?>components/com_bt_property/assets/img/spinner.gif"> 
     <div style="clear: both"></div> 
     <div id="btss-message"></div></li> 
</ul> 
<script type="text/javascript"> 
(function($){ 
      var files = []; 
      $("#attachment").change(function(event) { 
      $.each(event.target.files, function(index, file) { 
       var reader = new FileReader(); 
       reader.onload = function(event) { 
       object = {}; 
       object.filename = file.name; 
       object.data = event.target.result; 
       files.push(object); 
       if(files.length==1){ 
        uploadFile(index); 
        $('#spinner').show(); 
        $("#btss-message").show(); 
       } 
       }; 
       reader.readAsDataURL(file); 
      }); 
      }); 

      function uploadFile(index){ 
       $.ajax({url: "index.php?option=com_bt_property&task=properties.upload", 
        type: 'POST', 
        data: {filename: files[index].filename, filedata: files[index].data}, 
        success: function(response, status, xhr){ 
         uploadHandler(response, status, xhr); 
         if(index == files.length-1){ 
          $('#spinner').hide(); 
          files = []; 
          $("#attachment").val(''); 
          $("#btss-message").delay(1000).slideUp(function(){ 
           $("#btss-message").html(''); 
          }); 
         }else{ 
          index++; 
          uploadFile(index); 

         } 
        } 
       }); 
      } 
      function uploadHandler(response, status, xhr) { 
       var data = jQuery.parseJSON(response); 
         if(data == null){ 
          showMessage("<br /><span style=\"color: red;\">Loading Failed</span>"); 
         }else{ 
          var file = data.files; 
          if (!data.success) { 
           showMessage("<br /><span style=\"color: red;\"> " + data.message +"</span>"); 
          } 
          else { 

           var html = '<li>'; 
            html += '<input class="input-default" title="Make default" name="default_image" type="radio" value="'+file.filename+'" />'; 
            html += '<img class="img-thumb" src="<?php echo JURI::root() . $path . '/tmp/' . ($this->params->get('thumbimgprocess', 1) == -1 ? 'original' : 'thumb') . '-'; ?>'+file.filename+'" />'; 
            html += '<input type="hidden" name="image_id[]" value="0" />'; 
            html += '<input type="hidden" name="image_filename[]" value="'+file.filename+'" /><br/>';         
            html +='<a href="javascript:void(0)" class="edit" onclick="editImage(this)">Edit</a>'; 
            html +='<a href="javascript:void(0)" class="remove" onclick="removeImage(this)" >Remove</a>'; 
            html += '</li>';          
           jQuery('#sortable').append(html); 
           jQuery('#sortable li:last-child ').find('a.edit').data('title', file.title);         
           reNewItem(); 
           showMessage('<br />' + file.title + " uploaded successfully!"); 
          } 

         } 
      } 
      function showMessage(msg){ 
       $("#btss-message").append(msg); 
      } 

})(jQuery); 

</script> 

Есть ли способ исправить код? Я был бы очень благодарен за любой ответ.

+0

Отображение сообщений об ошибках в консоли браузера было бы полезно. – Lodder

+0

Вот сообщение об ошибке [link] (http://i.imgur.com/f4jx8qp.jpg) – googlar

+0

Я думаю, вы обнаружите, что это проблема, связанная с PHP. Вы действительно должны связаться с разработчиком этого расширения в любом случае – Lodder

ответ

0

Ваш объект file подходит как неопределенный, и поэтому вы не можете использовать file.filename.

Ваша проблема, скорее всего, связана с этой линией var file = data.files; - вы уверены, что насчет data.files?

+0

У меня нет данных с data.files. Попытка исправить, но без успеха :(Любые идеи, как исправить? – googlar

Смежные вопросы