olicek / dropzone-uploader
Uploader for Nette framework
Installs: 1 852
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 7
Open Issues: 4
Requires
- php: >= 5.4.0
- nette/nette: >2.1.0
This package is not auto-updated.
Last update: 2024-12-07 19:39:07 UTC
README
Instalace
composer require olicek/dropzone-uploader:dev-master
Registrovat v extensions
extensions:
dropzone: Oli\Form\DropzoneUploaderExtension
A nakonec nalinkovat client-site/dropzoneUploader.js
do stránky.
Použití
public function createComponentUploader($name, DropzoneUploaderFactory $factory)
{
$dropzone = $factory->create();
$path = $dropzone->getPath();
$dropzone->onSuccess[] = function (DropzoneUploader $dropzoneUploader, $targetPath, $name, $suffix) {
$photo = new Photo;
$photo->filename = $name . '.' . $suffix;
$photo->suffix = $suffix;
$this->photosRepository->save($photo);
};
return $dropzone->setPath($path . '/' . $this->galleryEntity->folder . '/1600x1200');
}
V šabloně
{control uploader}
A v základu by to mělo být vše. Ten soubor client-site/dropzoneUploader.js
jsem se snažil udělat co nejobecnější aby bylo možné s ním pracovat pokudmožno bez zásahu do něj. Nemusí se použít vubec, jediné na čem záleží je třída .dropzone
, která se teda taky ale může změnit :-)
Po nahrání
Po úspěšném nahrání je nastaveno aby se přesměrovalo na předpřipravený signál handleRefresh
.
Je možné v sekci settings
zvolit jestli se má použít ajax a kam se má přesměrovat.
Zatím je možné zvolit pouze signál nebo this
, když to bude potřeba tak dodělám přesměrování na nějaký presenter.
Example
dropzone:
path: 'gallery/photos'
settings:
ajax: on
dropzone:
path: 'gallery/photos'
settings:
onSuccess: 'this'