/ / Upload Plugin въпроси - cakephp, плъгини, качване на файлове, cakephp-2.2

Качване на приставки - cakephp, плъгини, качване на файлове, cakephp-2.2

Опитвате се да получите Plug-in за качване на CakePHP да работиш. Файлът се качва добре, създават се миниатюри ... и т.н., но има няколко въпроса:

- полето "име" в таблицата "Качвания" е празно

- полето "качване" в таблицата "качвания" е празно (полето "прикачен файл" в примера на документа)

-ако използвам {model} в "пътя", зададен в модела Качване, той използва "качване" като папка модел - той трябва да отиде в папка на съответния модел, а не на качване модел всеки път

//Upload MODEL
public $actsAs = array(
"Upload.Upload" => array(
"photo" => array(
"thumbnailSizes" => array(
"xvga" => "1024x768",
"vga" => "640x480",
"thumb" => "80x80",
),
"thumbnailMethod" => "php",
"path" => "{ROOT}webroot{DS}uploads{DS}{model}{DS}{field}{DS}",
"maxSize" => "5242880", //5MB
"mimetypes" => array("image/jpeg", "image/png", "image/gif", "image/bmp"),
"extensions" => array("jpg", "gif", "png"),
),
)
);

//ArticleData MODEL
public $hasMany = array(
"Upload" => array(
"className" => "Upload",
"foreignKey" => "foreign_key",
"conditions" => array(
"Upload.model" => "ArticleData",
),
),
);

//CONTROLLER
public function admin_upload() {
if(!empty($this->request->data)) {
$this->loadModel("Upload");
debug($this->request->data);
if($this->Upload->save($this->request->data)) {
$this->Session->setFlash("SAVED!!!!!!!!");
} else {
$this->Session->setFlash("NOT SAVED!!!!!!!!");
}
}
}

// VIEW
echo $this->Form->create("ArticleData", array("type"=>"file"));
echo $this->Form->input("Upload.model", array("type"=>"hidden", "value"=>"ArticleData"));
echo $this->Form->input("Upload.foreign_key", array("type"=>"hidden", "value"=>"4f93676e-347c-4e0c-8e6c-0a3cadcd7f7c"));
echo $this->Form->input("Upload.photo", array("type"=>"file"));
echo $this->Form->end("Submit");

Отговори:

0 за отговор № 1

Дейв:

- полето "име" в таблицата "Качвания" е празно

Това е нормално, мисля, че е по-скоро поле за име на "дисплей", за разлика от полето "име на файла". Името трябва да се съхранява в полето "фото" в примера ви.

-ако използвам {model} в "пътя", зададен в модела Качване, той използва "качване" като папка модел - той трябва да отиде в папка на съответния модел, а не на качване модел всеки път

Вие ще искате да псевдоним на модела, както е така:

//ArticleData MODEL
public $hasMany = array(
"AliasModelHere" => array(
"className" => "Upload",
"foreignKey" => "foreign_key",
"conditions" => array(
"Upload.model" => "ArticleData",
),
),
);

// Then

$this->ArticleData->AliasModelHere->save($data)