2015-01-22 4 views
0

Попытка создать компонент под октябрьской CMS, который должен разрешить использование нескольких файлов с интерфейсом. Я пытаюсь интегрировать в уже выходящую форму плагин Blueimp jQuery-File-Upload и потому, что октябрьская CMS использует интегрированную ajax-структуру, которая позволяет передавать данные в метод Component, но я бы использовал этот метод ajax, а не то, что от значения по умолчанию от BlueimpjQuery-File-Upload (Blueimp) с пользовательским ajax в октябре CMS

поэтому a нормальный FileUpload выглядит

$('#gallery').fileupload({ 
    // Uncomment the following to send cross-domain cookies: 
    //xhrFields: {withCredentials: true}, 
    url: 'path/to/controller' 

}); 

, но вместо этого я хотел бы использовать что-то вроде

$('#gallery').fileupload({ 
    // Uncomment the following to send cross-domain cookies: 
    //xhrFields: {withCredentials: true}, 
    add: function (e, data) { 
     data.submit(); 
     $.request('onUploads', { 

      success: function(data){ 
       console.log(data); 

      } 
     }) 
    } 

}); 

ответ

0

Вы должны использовать Request class from Laravel который OctoberCMS сидит на вершине. В основном вы идете в раздел кода файла макета и добавьте

function onUploads() 
{ 
    // Get the file 
    $file = Request::file('somefile'); 

    // Code to do something with it 
    // enter code here 
} 

Основываясь на том, что вы пытаетесь достичь, вы можете написать соответствующий код, чтобы загрузить его. Например, в my Social Login plugin я использую методы this class для извлечения фотографий из выбранной социальной сети и создания связи между социальной моделью плагина и загруженным файлом, чтобы пользователь внешнего интерфейса мог выводить фотографию в качестве отображаемой фотографии в своем веб-приложении.

Другим хорошим способом сделать это было бы непосредственно загрузить его в каталог тем, выполнив что-то вроде Request::file('somefile')->move(app_path() . '/themes/yourtheme/assets/uploads/');, но тогда вам нужно будет добавить код, чтобы ограничить размер выгрузки, а также исправить имена файлов. Не стесняйтесь комментировать, если вам нужна помощь в достижении чего-то особого. gl hf