2017-10-24 4 views
7

私のクライアントは古いクラスプレス版を使用しています。ここにはgithub repoが見つかりましたが、使用しているのはずっと古いものです。最新のWordpressのバージョンを実行しています。それはplupload、いくつかの古いバージョンが付属して、テーマでバージョンを見つけることができませんでした。ここではFunctions.phpです。ここにはpluploadです。 Here's the html of my page,それを見る必要はありませんが、ページが保護されているので、私はそこに置いています。そうすれば、コード全体を検査する唯一の方法です。私はそれを行うために、同時に複数の写真をアップロードする機能を追加したいアップロードの数を制限する

、私は

add_filter('appthemes_plupload_config', 'enable_plupload_multisel', 10 ,1); 
function enable_plupload_multisel($app_plupload_config){ 
$app_plupload_config['plupload']['multi_selection'] = true; 
return $app_plupload_config; } 

をのfunctions.phpするthisを追加しかし、私は、アップロードからユーザーを停止する方法がわかりません8枚以上の写真?私はmax_filesmax_files_countmax_file_countを追加しようとしましたが、何も動かず、プラグイン自体のソースコードを修正し、jsと何も働かなかった。ユーザーが8枚以上の画像をアップロードできないようにしたい。

私はpluploadをあきらめた後、私はjQueryのを使用してそれをやってみましたが、再び

/* prevent form submission if user selects more than 8 pics */ 
jQuery('#app-attachment-upload-pickfiles').change(function() { 
    if (this.files.length > 8) { 
     alert('Uploading more than 8 images is not allowed'); 
     this.value = ''; 
    } 
}); 
// Prevent submission if limit is exceeded. 
jQuery('#mainform').submit(function() { 
    if (this.files.length > 8) { 
     jQuery('#app-attachment-upload-pickfiles').hide(); 
     jQuery('#step1').hide(); 
     return false; 
    } else { 
     jQuery('#app-attachment-upload-pickfiles').show(); 
     jQuery('#step1').show(); 
    } 
}); 

を動作しませんでした編集

マイpluploadjs hereFilesAdded

attachUploader.bind('FilesAdded', function(up, files) { 
     jQuery.each(files, function(i, file) { 
      jQuery('#app-attachment-upload-filelist').append(
       '<div id="' + file.id + '" class="app-attachment-upload-progress">' + 
       file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' + 
       '</div>'); 

      window.appFileCount += 1; 
      APP_Attachment.hideUploadBtn(); 
     }); 

     up.refresh(); 
     attachUploader.start(); 
    }); 

私はそう

attachUploader.bind('FilesAdded', function(up, files) { 
     var maxfiles = 8; 
      if(up.files.length > maxfiles) 
      { 
       up.splice(maxfiles); 
       alert('no more than '+maxfiles + ' file(s)'); 
      } 
      if (up.files.length === maxfiles) { 
       $('#app-attachment-upload-filelist').hide("slow"); // provided there is only one #uploader_browse on page 
      } 
     jQuery.each(files, function(i, file) { 
      jQuery('#app-attachment-upload-filelist').append(
       '<div id="' + file.id + '" class="app-attachment-upload-progress">' + 
       file.name + ' (' + plupload.formatSize(file.size) + ') <b></b>' + 
       '</div>'); 

      window.appFileCount += 1; 
      APP_Attachment.hideUploadBtn(); 
     }); 

     up.refresh(); 

     attachUploader.start(); 
    }); 

に見えるように、それを修正は、すべてのことですか?それは今働くだろうか?エラーが出るのでテストしていません

+0

私はhttp://www.plupload.com/punbb/register.phpそれがこのフォーラムでは、新規登録を受け付けていません 'と言うpluploadフォーラムに尋ねてみました。代わりにStackOverflowに質問を投稿してください(タグ "plupload"で)。私はgithubについても尋ねてみました。答えは – Lynob

+0

です。https://stackoverflow.com/a/15520225/1236044 – jbl

+0

@jbl私の編集を読んで、それが今働くかどうか教えてください。 – Lynob

答えて

1

あなたのコードはほとんど動作するはずです。私はremoveFileメソッドを呼び出すことによって、キューからファイルを手動で削除する必要があると思います。

たぶん、このコードを試してみてください。

attachUploader.bind('FilesAdded', function(up, files) { 
     var maxfiles = 8; 

     // remove all new files after the max of files 
     jQuery.each(up.files, function(i, file) { 
      if(i > maxfiles){ 
       up.removeFile(file); 
      } 
     });  
}); 
+0

とほぼ同じでしたので、私はまだこれを持っています。https://pastebin.com/04UDCBxY – Lynob

+0

これはstacktraceを実行する必要があります。そのため、これが起こるコードの正確な行に戻ってトレースすることができます。おそらくあなたが使用する場所と未定義のオブジェクトの 'id'。既に削除されたファイルオブジェクトを使用しないように注意してください。 –

+0

は後で試してみます。期限切れになると私はあなたに恩恵を与えます。それをテストする時間はありません – Lynob

関連する問題