2012-05-07 6 views
0

Попытка получить CakePHP Upload Plug-in для работы. Файл загружает штраф, эскизы создаются ... и т.д., но имеющие несколько вопросов:Загрузить Проблемы с плагином

-The «имя» поля стола «загрузка» пусто

-The поле «Загрузка» в Таблица «uploads» пуста (поле «вложения» в примере doc)

-если я использую {модель} в 'пути', установленном в модели загрузки, он использует 'upload' в качестве папки модели - он должен зайдите в папку соответствующей модели, а не модель загрузки каждый раз

//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

Dave:

-The «имя» поле в таблице «загрузки» пуст

Это нормально, я думаю, это больше «дисплей» поле имени, в отличие от поля «Имя файла». Имя должно быть сохранено в поле «фото» в вашем примере.

-если я использую {модель} в «пути», заданном в модели загрузки, он использует «upload» в качестве папки модели - он должен идти в папке связанной модели, а не с моделью загрузки каждый время

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

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

// Then 

$this->ArticleData->AliasModelHere->save($data) 
Смежные вопросы