jdvorak23/image-upload

为Nette设计的Bootstrap 5图片上传组件

1.05 2023-07-29 17:06 UTC

This package is auto-updated.

Last update: 2024-09-15 07:37:30 UTC


README

为Nette的图片上传组件

安装

composer require jdvorak23/image-upload

保存到文件夹 %wwwDir%/%imagesDir%/$directory

  • %wwwDir% 由Nette创建
  • %imagesDir% 参数在common.neon中设置
  • $directory 是组件构造函数的参数

common.neon (例如)

parameters:
    imagesDir: 'images/articles/'

services.neon 中注册

- Jdvorak23\ImageUpload\ImageUploadFactory
- Jdvorak23\ImageUpload\ImageModel(wwwDir: "%wwwDir%", imagesDir: "%imagesDir%")

有时需要设置写入权限(根据 %imagesDir% 的设置)

chmod 777 articles

javascript

需要javascript。请使用 /assets 文件夹中的脚本

index.js(主文件)

import ImageUpload from "../imageUpload"; // Podle toho kam se zkopírovalo
window.ImageUpload = ImageUpload;

然后在包含组件的模板中

<script>
    const imageUpload = new window.ImageUpload();
</script>

创建组件

    // DI továrny - konstruktor, inject, ...
    private readonly ImageUploadFactory $imageUploadFactory
    // $this->directory velmi často: $this->articleId
    public function createComponentImageUpload(): ImageUploadControl
    {
        if(!$this->directory)
            throw new InvalidStateException("Directory is not set.");
        return $this->imageUploadFactory->create($this->directory);
    }

在模板中

{control imageUpload}