Estoy usando el modal ckfinder sin CKEditor para cargar varios archivos en la sección de formulario.
Usé el código provisto en la sección de documentación,
El modal de CKfinder se abre como se esperaba, seleccionó varios archivos pero no pude obtener todas las URL de las imágenes. La respuesta que obtuve solo fue la primera imagen.
window.CKFinder = { _popupOptions: { 'popup-1-config': { // Config ID for first popup chooseFiles: true, onInit: function( finder ) { finder.on( 'files:choose', function( evt ) { var file = evt.data.files.first(); var output = document.getElementById( 'output' ); output.innerHTML = 'Selected in popup 1: ' + file.get( 'name' ) + '<br>URL: <img src=" ' + file.getUrl() + '">'; } ); } }, } }; var popupWindowOptions = [ 'location=no', 'menubar=no', 'toolbar=no', 'dependent=yes', 'minimizable=no', 'modal=yes', 'alwaysRaised=yes', 'resizable=yes', 'scrollbars=yes', 'width=800', 'height=600' ].join( ',' ); document.getElementById( 'popup-1-button' ).onclick = function() { // Note that config ID is passed in configId parameter window.open( 'http://foxhills.localhost/admin/ckfinder/ckfinder.html?popup=1&configId=popup-1-config', 'CKFinderPopup1', popupWindowOptions ); };En el código anterior, var file = evt.data.files.first(); es la razón por la que obtengo la primera imagen. Cómo puedo cambiar el código para obtener todas las direcciones URL como matriz.
Para su evento, intente probar con este
finder.on( 'files:choose', function( evt ) { var files = evt.data.files; var chosenFiles = ''; files.forEach( function( file, i ) { chosenFiles += ( i + 1 ) + '. ' + file.get( 'name' ) + '\n'; } ); alert( chosenFiles ); } );Fuente: https://ckeditor.com/docs/ckfinder/ckfinder3/#!/api/CKFinder.Application-event-files_choose