私はCakePHPのアップロードプラグインを使用していて、パスを書き込んだり、画像のサイズを変更したり、画像を保存したりするように変更することができました。しかし、ここで、画像を保存する関数にpId変数(int)を渡したいと思います。
仕組みは次のとおりです。1)次のaddpictures.ctpがあります。
$result = $this->Upload->upload('Projects/'.$projects['Project']['id'], $this->Form->field['Project.id'], $projects['Project']['id']);
echo $result;
これは問題なく機能します。(3番目の引数であるプロジェクトIDを追加したことに注意してください。)2)呼び出される関数は次のようになります。
public function upload($model, $id, $pId){
$result = $this->edit($model, $id, $pId);
return $result;
}
これはPluging/AjaxMultiUpload / View / Helper/UploadHelper.php内にあります
3)これで、(同じファイル内の)編集機能は次のようになります。
public function edit ($model, $id, $pId) {
require_once (ROOT . DS . APP_DIR . "/Plugin/AjaxMultiUpload/Config/bootstrap.php");
$dir = Configure::read('AMU.directory');
if (strlen($dir) < 1) {
$dir = "files";
}
$webroot = Router::url("/") . "ajax_multi_upload";
// Replace / with underscores for Ajax controller
$lastDir = str_replace ("/", "___",
$this->last_dir ($model, $id));
$str = <<<END
<br /><br />
<link rel="stylesheet" type="text/css" href="$webroot/css/fileuploader.css" />
<script src="$webroot/js/fileuploader.js" type="text/javascript"></script>
<div id="AjaxMultiUpload">
<noscript>
<p>Please enable JavaScript to use file uploader.</p>
</noscript>
</div>
<script src="$webroot/js/fileuploader.js" type="text/javascript"></script>
<script>
function createUploader(){
var uploader = new qq.FileUploader({
element: document.getElementById('AjaxMultiUpload'),
action: '$webroot/uploads/upload/$lastDir/',
pid: '$pId',
debug: true
});
}
window.onload = createUploader;
</script>
END;
$str .= $this->view ($model, $id, true);
return $str;
}
ここで、次を追加しました。
pid: '$pId',
ご覧のとおり、インスタンスの作成です。今、このスクリプトは魔法が起こる場所であり、私が概要を失う場所です。スクリプトは本当に長いです、すみませんが、私は本当に何をすべきかわかりません...
http://jsfiddle.net/sbX8a/
そして、ここのどこかで、ヘルパーに渡した$pIdを取得したいと思います。
どうすればこれを達成できますか?
私は完全に道に迷い、2日後にそれをじっと見つめ、それをいじくり回した後、私は道に迷いました。
ご挨拶、危害。
バンプ?