В настоящее время я пытаюсь использовать плагин Miles J, расположенный здесь http://milesj.me/code/cakephp/uploader Хотя я добился большого прогресса в изучении CakePhp, в настоящее время у меня возникают проблемы с использованием плагина, и я был бы признателен за любую помощь.1004 * Я выполнил все необходимые шаги, чтобы использовать плагин.Он был загружен в папку Plugin, я загрузился с помощью CakePlugin :: loadAll ().
Пока все хорошо.
Далее я приступил к настройке таблицы, как указано разработчиком плагина.
Хорошо, теперь вернемся к моему собственному коду.У меня есть следующие настройки:
images_controller.php, image.php и их представления.
Теперь моя цель - использовать плагин внутри этих файлов как таковой:
App::import('Vendor', 'Uploader.Uploader');
Class ImagesController extends AppController {
var $components = array('Auth');
var $helpers = array('Design');
var $uses = array('Image', 'Uploader.Upload');
function manage(){
//here I show a simple upload form that uses the action saveimage
}
function saveimage(){
$this->Uploader = new Uploader();
if(!empty($this->data)){
$this->Upload->save($this->data);
}
}
}
Теперь моя модель настроена следующим образом
Class Image extends AppModel {
public $useTable = 'uploads';
public $actsAs = array(
'Uploader.FileValidation' => array(
'file' => array(
'extension' => array(
'value' => array('gif', 'jpg', 'jpeg'),
'error' => 'Only gif, jpg and jpeg images are allowed!'
),
'minWidth' => 500,
'minHeight' => 500,
'required' => true
),
'import' => array(
'required' => false
)
),
'Uploader.Attachment' => array(
'file' => array(
'name' => 'uploaderFilename',
'uploadDir' => '/files/uploads/',
'dbColumn' => 'path',
'maxNameLength' => 30,
'overwrite' => true,
'stopSave' => false,
'transforms' => array(
// Save additional images in the databases after transforming
array(
'method' => 'resize',
'width' => 100,
'height' => 100,
'dbColumn' => 'path_alt'
)
),
'metaColumns' => array(
'size' => 'filesize', // The size value will be saved to the filesize column
'type' => 'type' // And the same for the mimetype
)
),
'import' => array(
'uploadDir' => '/files/uploads/',
'name' => 'uploaderFilename',
'dbColumn' => 'path',
'overwrite' => true,
'stopSave' => false,
'transforms' => array(
array(
'method' => 'scale',
'percent' => .5,
'dbColumn' => 'path' // Overwrite the original image
)
)
)
)
);
}
}
В моей модели для целей тестирования я ничего не изменил, а просто скопировал и вставил тот же массив, как показано напапка Test / Model внутри плагина, предназначенная для демонстрации функциональности плагина.
Происходит следующая путаница, ошибки или непонимание:
Мой файл не проверяетсязагружено в папку webroot / files / uploads Мои данные вставляются в базу данных, но не в полном порядке, оставляя пустым, как показано:
id | caption | path | path_alt | created |
4 | | | |2012:02:..|
Выше я ожидаю, что путь будет сохранен, ноэто не так.
Я должен признать, что мое замешательство происходит в основном из-за моей неопытности в использовании плагинов, поэтому я знаю, что могу делать что-то не так в отношении своих моделей или конфигурации.
Буду признателен за любую быструю помощь, так как я пытался решить это самостоятельно без какого-либо успеха.